Buildroot
Buildroot is a set of Makefile and patch files that automates the process of building Linux-based system software for an embedded system, including cross-compiling to a target platform that differs from the build system. Buildroot can build a cross-compilation toolchain, a root file system, a Linux kernel image, and a boot loader.