linux.conf.au 2014

Perth, Western Australia - 6th to 10th January 2014

linux.conf.au


<-- Back to schedule

Buildroot: building embedded Linux systems made easy!

Project: Buildroot

When one needs to create an embedded Linux system for a given platform, mainly two choices are available: use a pre-built binary distribution such as Debian or Ubuntu, which relies on native compilation, or use a tool that rebuilds from source, through cross-compilation, a small Linux system. Buildroot is a tool that falls into the second category, and provides to embedded Linux developers a very simple utility to automate the process of building their systems.

Buildroot supports many CPU architectures, from the most popular ones such as ARM, x86, PowerPC or MIPS, all the way to more specific ones such as Microblaze, Blackfin or ARC. It includes the ability to build cross-compilation toolchains, a Linux kernel image, bootloader images, and about 1000 userspace packages, for components such as Qt, Gtk, X.org, Gstreamer and many others. Compared to other embedded Linux build systems, Buildroot puts a strong emphasis on simplicity, and as such is being used by a very large number of embedded companies, processor vendors, and hobbyists. For example, Google uses Buildroot to build the embedded Linux system that powers the devices used in the Google Fiber project.

Through this talk, we would like to detail how Buildroot works from an user-level point of view, the features that it provides, how easy it is to extend and understand its internal architecture, and give insights on how to use it for real projects.

Thomas Petazzoni

Thomas Petazzoni is CTO and an embedded Linux engineer and trainer at Free Electrons since 2008. He has been involved in numerous embedded Linux projects, especially the mainlining of Marvell Armada 370/XP SoCs support. He is also a major contributor to the Buildroot embedded Linux build system with more than 1600 patches merged. Thomas is also a regular speaker at various international conferences, on embedded Linux related topics.