Firmware Linux is an embedded Linux build system, designed to eliminate
the need for cross compiling.
The build system is a series of bash scripts which create a small native
Linux development environment for each target, runnable on real hardware or
under emulators such as QEMU.
Currently supported targets include arm, mips, powerpc, and x86, x86-64.
Partial support is available for sparc, sh4, and m68k.
For more information, see the documentation
page.
The current source tarball is
Firmware Linux version 0.9.5.
This is the series of shell scripts you run to create the various binary
images. See the README for usage instructions,
and the release notes.
Several prebuilt binary images
are available, based on the current Firmware Linux release.
System images provide a complete native development environment, based
on seven packages: Linux, uClibc, BusyBox, binutils, gcc, make, and bash.
(The build also uses the toybox, genext2fs, uClibc++, and distcc packages, but
does not depend on them to achieve a self-hosting OS image.)
System image tarballs contain an ext2 root filesystem image and a kernel
configured to boot under the emulator QEMU. Use the "./run-emulator.sh"
script to use qemu to emulate the appropriate target system, giving you a
shell prompt within the native development environment. (Type "exit" when
finished.)
If you prefer to package your own filesystem images, or use QEMU's
application emulation mode, you can download each target's root filesystem
packaged in a tarball.
Prebuilt binary cross compilers for use on i686 or x86-64 hosts.