1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Springboard for customizing a Tomato build?

Discussion in 'Tomato Firmware' started by BigMatza, Oct 28, 2009.

  1. BigMatza

    BigMatza Network Guru Member

    I'd like to customize my own brand of Tomato, but I'm not sure where to start. I've been searching through the Tomato FAQ, WIKI, and the forums here, and can't find a good place to get me started.

    Basically, I want to cook up my own recipe for my 4MB Asus WL-520GU. I want everything in Thor's build, except for SNMP. Omitting SNMP would drop the size of his build to under 4MB, making it manageable for my router.

    Before I go searching around for all the "parts" used in Thor's build (minus SNMP), and then attempt to compile them all together and load on my router, I'm hoping to get some answers to some basic questions like:
    • What basic background knowledge is required to assemble the source code into a build?
    • In what language(s) are the Tomato base, and many of the popular add-ons, written?
    • I'll assume most of the development is done in a Linux platform. What popular combinations of tools/emulators/IDEs could a developer use to build Tomato on a Windows platform?
    • How is code tested and debugged without the risk of bricking a router? Is there a Broadcom router emulator out there somewhere? What about for developers working in Windows (see above question)?
    • How pluggable are the various components in Keith's Tomato GIT repository?
    • If the answer to the above question is "not very", then is there any ongoing effort to make it so?
    I'm very familiar with Eclipse. I've had some basic C and advanced C++ programming classes in college, though most of my professional experience is with Java and PERL. I understand how compilation works, and I have a fair amount of experience in network programming. No need to dumb-down the programming terminology. I'm just new to the whole firmware development arena.

    Please post any links that might be helpful. Perhaps when all's said and done, we can add some of this info to the Tomato WIKI.


Share This Page