OpenEmbedded

"OpenEmbedded is a full-featured development environment allowing users to target a wide variety of devices. Supporting multiple build, release paths and configurations, OpenEmbedded extends the capabilities of your build and release engineers. OpenEmbedded uses compilation and configuration caching at most levels to increase developer productivity. [...]

OpenEmbedded is a tool which allows developers to create a fully usable Linux base for various embedded systems. It has been designed to be able to handle different hardware architectures, support multiple releases for those architectures, and utilize tools for speeding up the process of recreating the base after changes have been made. Currently it can run on any Linux distribution, and plans are in place to allow it to work under Windows.

OpenEmbedded is the successor of the great OpenZaurus project. Basically OpenEmbedded is a build system that can generate (cross-compile) Software packages for embedded targets. This may include Bootloader, Linux and Applications. It started as a dream and BrainStorming, on how this could be done, and it's already used in real life."

http://oe.linuxtogo.org/

http://oe.linuxtogo.org/project-overview