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 about page.
The current source tarball is
Firmware Linux version 0.9.0.
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 the following packages:
- Linux 2.6.26.2
- uClibc 0.9.29
- BusyBox 1.11.1
- binutils 2.18
- gcc 4.1.2
- make 3.8.1
- bash 2.05b
(The build also uses the toybox 0.0.6 and distcc 2.18.3 packages, but does
not depend on them.)
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.
The project maintains a development repository
using the Mercurial source control system. This includes RSS feeds for
each checkin
and for new releases.
Questions about Firmware Linux should be addressed to the project's
mailing
list, the IRC channel #firmware on irc.freenode.org. The project
maintainer's blog often includes notes about
ongoing Firmware Linux development.
|