Reducing runtime size of executables is performance-critical. Many executables are designed for large systems, allocating memory adequate for large systems, but wasteful for an embedded system.
- Build kernel resouces as modules.
- Strip resources out of the kernel (number of tty's, hd's, floppy formats, etc.).
- Strip out options from executables that aren't required for your system. (Does anyone ever use all the options of "find" or "ls"?)
- Use multicall binaries where possible.