buildroot: building embedded linux systems made easy! (linux conf australia 2014)

56
Linux Conf Australia 2014 Buildroot: building embedded Linux systems made easy! Thomas Petazzoni Free Electrons [email protected] Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 1/29

Upload: thomas-petazzoni

Post on 14-Jul-2015

616 views

Category:

Software


1 download

TRANSCRIPT

Linux Conf Australia 2014

Buildroot: buildingembedded Linuxsystems made easy!

Thomas PetazzoniFree [email protected]

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 1/29

Thomas Petazzoni

I CTO and embedded Linux engineer atFree Electrons

I Embedded Linux expertiseI Development, consulting and trainingI Strong open-source focus

I Open-source contributor

I Contributing the kernel support forMarvell ARM processors

I Major contributor to Buildroot, 1600+patches contributed

I Living in Toulouse, south west of France

Embedded LinuxDevelopers

Free Electrons

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 2/29

Thomas Petazzoni

I CTO and embedded Linux engineer atFree Electrons

I Embedded Linux expertiseI Development, consulting and trainingI Strong open-source focus

I Open-source contributorI Contributing the kernel support for

Marvell ARM processorsI Major contributor to Buildroot, 1600+

patches contributed

I Living in Toulouse, south west of France

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 2/29

Thomas Petazzoni

I CTO and embedded Linux engineer atFree Electrons

I Embedded Linux expertiseI Development, consulting and trainingI Strong open-source focus

I Open-source contributor

I Contributing the kernel support forMarvell ARM processors

I Major contributor to Buildroot, 1600+patches contributed

I Living in Toulouse, south west of France

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 2/29

Embedded ?

These days, when you say embedded, most people think:

I Powerful dual/quad ARM/x86 processor

I Several GBs of RAM

I Dozens of GBs of storage

I Full-featured, general-purpose operating system (Android)

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 3/29

Embedded ?

These days, when you say embedded, most people think:

I Powerful dual/quad ARM/x86 processor

I Several GBs of RAM

I Dozens of GBs of storage

I Full-featured, general-purpose operating system (Android)

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 3/29

Embedded ?

These days, when you say embedded, most people think:

I Powerful dual/quad ARM/x86 processor

I Several GBs of RAM

I Dozens of GBs of storage

I Full-featured, general-purpose operating system (Android)

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 3/29

Embedded ?

But there are much more embedded systems than just phones andtablets:

I Very application-specific →need a custom Linux system

I Less powerful CPUs,sometimes specialized CPUarchitectures

I Less RAM (a few dozen to afew hundred MBs)

I Less storage

I Long life-time andmaintenance period

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 4/29

Embedded ?

But there are much more embedded systems than just phones andtablets:

I Very application-specific →need a custom Linux system

I Less powerful CPUs,sometimes specialized CPUarchitectures

I Less RAM (a few dozen to afew hundred MBs)

I Less storage

I Long life-time andmaintenance period

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 4/29

Embedded ?

But there are much more embedded systems than just phones andtablets:

I Very application-specific →need a custom Linux system

I Less powerful CPUs,sometimes specialized CPUarchitectures

I Less RAM (a few dozen to afew hundred MBs)

I Less storage

I Long life-time andmaintenance period

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 4/29

Building an embedded Linux system

+ Readily available

- Large, usually 100+ MB

- Not available for all architectures

- Not easy to customize

- Generally require native compilation

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 5/29

Building an embedded Linux system

+ Smaller and flexible

- Very hard to handle cross-compilation and dependencies

- Not reproducible

- No benefit from other people’s work

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 5/29

Building an embedded Linux system

+ Small and flexible

+ Reproducible, handles cross-compilation and dependencies

+ Available for virtually all architectures

- One tool to learn

- Build time

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 5/29

Embedded Linux build system: principle

I Building from source → lot of flexibility

I Cross-compilation → leveraging fast build machines

I Recipes for building components → easy

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 6/29

Embedded Linux build system: principle

I Building from source → lot of flexibility

I Cross-compilation → leveraging fast build machines

I Recipes for building components → easy

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 6/29

Embedded Linux build system: principle

I Building from source → lot of flexibility

I Cross-compilation → leveraging fast build machines

I Recipes for building components → easy

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 6/29

Embedded Linux build system: tools

I A wide range of solutions: Yocto/OpenEmbedded, PTXdist,Buildroot, LTIB, OpenBricks, OpenWRT, and more.

I Today, two solutions are emerging as the most popular ones

I Yocto/OpenEmbeddedBuilds a complete Linux distribution with binary packages.Powerful, but somewhat complex, and quite steep learningcurve.

I BuildrootBuilds a root filesystem image, no binary packages. Muchsimpler to use, understand and modify.

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 7/29

Embedded Linux build system: tools

I A wide range of solutions: Yocto/OpenEmbedded, PTXdist,Buildroot, LTIB, OpenBricks, OpenWRT, and more.

I Today, two solutions are emerging as the most popular ones

I Yocto/OpenEmbeddedBuilds a complete Linux distribution with binary packages.Powerful, but somewhat complex, and quite steep learningcurve.

I BuildrootBuilds a root filesystem image, no binary packages. Muchsimpler to use, understand and modify.

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 7/29

Embedded Linux build system: tools

I A wide range of solutions: Yocto/OpenEmbedded, PTXdist,Buildroot, LTIB, OpenBricks, OpenWRT, and more.

I Today, two solutions are emerging as the most popular onesI Yocto/OpenEmbedded

Builds a complete Linux distribution with binary packages.Powerful, but somewhat complex, and quite steep learningcurve.

I BuildrootBuilds a root filesystem image, no binary packages. Muchsimpler to use, understand and modify.

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 7/29

Embedded Linux build system: tools

I A wide range of solutions: Yocto/OpenEmbedded, PTXdist,Buildroot, LTIB, OpenBricks, OpenWRT, and more.

I Today, two solutions are emerging as the most popular onesI Yocto/OpenEmbedded

Builds a complete Linux distribution with binary packages.Powerful, but somewhat complex, and quite steep learningcurve.

I BuildrootBuilds a root filesystem image, no binary packages. Muchsimpler to use, understand and modify.

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 7/29

Buildroot at a glance

I Can build a toolchain, a rootfs, a kernel, a bootloader

I Easy to configure: menuconfig, xconfig, etc.

I Fast: builds a simple root filesystem in a few minutes

I Easy to understand: written in make, extensive documentation

I Small root filesystem, starting at 2 MB

I More than 1000 packages for userspace libraries/appsavailable

I Many architectures supported

I Well-known technologies : make and kconfig

I Vendor neutral

I Active community, regular releases

I http://buildroot.org

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 8/29

Who’s using Buildroot?

I System makersI GoogleI BarcoI Rockwell Collins

I Processor vendorsI Analog DevicesI Imagination TechnologiesI MarvellI Atmel

I Many, many hobbyists ondevelopment boards: Rasberry Pi,BeagleBone Black, etc.

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 9/29

Who’s using Buildroot?

I System makersI GoogleI BarcoI Rockwell Collins

I Processor vendorsI Analog DevicesI Imagination TechnologiesI MarvellI Atmel

I Many, many hobbyists ondevelopment boards: Rasberry Pi,BeagleBone Black, etc.

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 9/29

Who’s using Buildroot?

I System makersI GoogleI BarcoI Rockwell Collins

I Processor vendorsI Analog DevicesI Imagination TechnologiesI MarvellI Atmel

I Many, many hobbyists ondevelopment boards: Rasberry Pi,BeagleBone Black, etc.

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 9/29

Getting started

git clone git://git.busybox.net/buildroot

cd buildroot

make menuconfig

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 10/29

Buildroot configuration

1. Target architecture

2. Build options

3. Toolchain

4. System configuration

5. Kernel

6. Target packages

7. Filesystem images

8. Bootloaders

9. Host utilities

I ArchitectureARC, ARM, AArch64, AVR32,

Blackfin, Microblaze, MIPS, NIOS II,

PowerPC, SuperH, SPARC, x86,

x86 64, Xtensa

I Specific processor

I ABI

I Floating point strategy

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 11/29

Buildroot configuration

1. Target architecture

2. Build options

3. Toolchain

4. System configuration

5. Kernel

6. Target packages

7. Filesystem images

8. Bootloaders

9. Host utilities

I Download directory

I Number of parallel jobs

I Use of ccache

I Shared or static libraries

I etc.

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 11/29

Buildroot configuration

1. Target architecture

2. Build options

3. Toolchain

4. System configuration

5. Kernel

6. Target packages

7. Filesystem images

8. Bootloaders

9. Host utilities

I Buildroot toolchainI Buildroot builds the toolchainI uClibc, glibc, eglibc

I External toolchainI Uses a pre-built toolchainI Profiles for existing popular

toolchainsLinaro, Sourcery CodeBench,Analog Devices, etc.

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 11/29

Buildroot configuration

1. Target architecture

2. Build options

3. Toolchain

4. System configuration

5. Kernel

6. Target packages

7. Filesystem images

8. Bootloaders

9. Host utilities

I Init system to use: Busybox,Sysvinit, Systemd

I /dev management solution: static,devtmpfs, mdev, udev

I Hostname, password, gettyterminal, etc.

I Custom post build and post imagescripts

I etc.

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 11/29

Buildroot configuration

1. Target architecture

2. Build options

3. Toolchain

4. System configuration

5. Kernel

6. Target packages

7. Filesystem images

8. Bootloaders

9. Host utilities

I Kernel source (stable version, Gittree, patches)

I Kernel configuration

I Support for RTAI and Xenomaireal-time extensions

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 11/29

Buildroot configuration

1. Target architecture

2. Build options

3. Toolchain

4. System configuration

5. Kernel

6. Target packages

7. Filesystem images

8. Bootloaders

9. Host utilities

I More than 1000 packages

I Qt4, Qt5, X.org, Gtk, EFL

I GStreamer, ffmpeg

I Python, Perl, Ruby, Lua

I Samba, OpenSSL, OpenSSH,dropbear, lighttpd

I OpenGL support for variousplatforms

I And many, many more libraries andutilities

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 11/29

Buildroot configuration

1. Target architecture

2. Build options

3. Toolchain

4. System configuration

5. Kernel

6. Target packages

7. Filesystem images

8. Bootloaders

9. Host utilities

I Major filesystem formats supported

I cloop

I cpio, for kernel initramfs

I cramfs

I ext2/3/4

I jffs2

I romfs

I squashfs

I tar

I ubifs

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 11/29

Buildroot configuration

1. Target architecture

2. Build options

3. Toolchain

4. System configuration

5. Kernel

6. Target packages

7. Filesystem images

8. Bootloaders

9. Host utilities

I Grub

I Syslinux

I U-Boot

I Barebox

I and more platform-specificbootloaders: imx-bootlets,at91bootstrap, etc.

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 11/29

Buildroot configuration

1. Target architecture

2. Build options

3. Toolchain

4. System configuration

5. Kernel

6. Target packages

7. Filesystem images

8. Bootloaders

9. Host utilities

I Allows to build some native tools,useful for development.

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 11/29

Example configuration

BR2_arm=y

BR2_arm1176jzf_s=y

BR2_TOOLCHAIN_EXTERNAL=y

BR2_TARGET_GENERIC_GETTY_PORT="tty1"

BR2_LINUX_KERNEL=y

BR2_LINUX_KERNEL_CUSTOM_GIT=y

BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/raspberrypi/linux.git"

BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="75d03120bc36b1cc3166973b8edc11f033ab7c0d"

BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi_quick"

BR2_LINUX_KERNEL_ZIMAGE=y

BR2_PACKAGE_RPI_FIRMWARE=y

BR2_PACKAGE_I2C_TOOLS=y

BR2_PACKAGE_RPI_USERLAND=y

BR2_PACKAGE_LIBCOFI=y

BR2_PACKAGE_DROPBEAR=y

BR2_PACKAGE_LIGHTTPD=y

BR2_PACKAGE_TVHEADEND=y

I ARM1176 platform, externaltoolchain

I Rasberry-Pi kernel

I Rasberry-Pi firmware

I lighttpd web server

I tvheadend streaming server

I dropbear SSH server

I I2C tools

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 12/29

Building and using

I To start the build: make

I Results in output/images:I rootfs.tar, root filesystem in tar formatI rootfs.ubi, root filesystem in UBI formatI uImage, Linux kernel imageI u-boot.bin, U-Boot bootloader image

I Ready to be flashed on your embedded system.

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 13/29

Exploring the build output

I All the output produced by Buildroot is stored in output/

I Can be customized using O= for out-of-tree buildI output/ contains

I output/build, with one sub-directory for the source code ofeach component

I output/host, which contains all native utilities needed for thebuild, including the cross-compiler

I output/host/usr/<tuple>/sysroot, which contains all theheaders and libraries built for the target

I output/target, which contains almost the target rootfilesystem

I output/images, the final images

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 14/29

Summarized build process

1. Copies the rootfs skeleton to target/

2. Takes care of the cross-compilation toolchainI internal toolchain: Downloads, patches, configures, builds

and installs binutils, gcc, C library and the necessarydependencies

I external toolchain: Copy the necessary bits of the toolchaininto Buildroot output directory.

3. For each selected package, after taking care of itsdependencies: download, extract, patch, configure, build,install

I To target/ for target apps and libsI To host/usr/<tuple>/sysroot for target libsI To host/ for native apps and libs

4. Generate the root filesystem image

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 15/29

Real-world example 1

I The device is an ARM AT91-based platform with GPS, RFIDreaders, GSM modem, Ethernet and USB.

I The Buildroot configuration:I CodeSourcery ARM glibc toolchainI Linux kernelI BusyBox for the basic systemI Dropbear for SSH access (debugging)I Qt with only QtCore, QtNetwork and QtXml, no GUII QExtSerialPortI zlib, libxml2, logrotate, pppd, strace, a special RFID library,

popt libraryI The Qt applicationI JFFS2 root filesystem

I Filesystem size: 11 MB. Could be reduced by using uClibc.

I Build time: 10 minutes on a fast build server (quad-core i7,12 GB of RAM)

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 16/29

Real-world example 2

I An x86-based system, with an OpenGL application for vehiclenavigation system.

I External glibc toolchain generated with crosstool-NGI The Grub bootloaderI Linux kernel, of courseI BusyBoxI A large part of the X.org stack (the server, a few drivers, and

some client libraries), including libdrm, MesaI The fglrx ATI proprietary OpenGL driverI ALSA utils, ALSA library, V4L library, Flashrom, LM Sensors,

Lua, Dropbear, EthtoolI The OpenGL application and its data

I Filesystem size: 95 MB, with 10 MB of application (binary +data) and 45 MB (!) of fglrx driver.

I Build time: 27 minutes on a fast build server (quad-core i7,12 GB of RAM)

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 17/29

Customizing the build

Besides the existing packages, there are multiple ways to customizethe generated root filesystem:

I Create custom post-build and/or post-image scripts

I Use a root filesystem overlay, recommended to add all yourconfig files

I Add your own packages

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 18/29

Adding a new package: Config.in (1/2)

package/libmicrohttpd/Config.inconfig BR2_PACKAGE_LIBMICROHTTPD

bool "libmicrohttpd"

depends on BR2_TOOLCHAIN_HAS_THREADS

help

GNU libmicrohttpd is a small C library that makes it easy to

run an HTTP server as part of another application.

http://www.gnu.org/software/libmicrohttpd/

comment "libmicrohttpd needs a toolchain w/ threads"

depends on !BR2_TOOLCHAIN_HAS_THREADS

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 19/29

Adding a new package: Config.in (2/2)

package/Config.in

[...]

source "package/libmicrohttpd/Config.in"

[...]

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 20/29

Adding a new package: <pkg>.mk

package/libmicrohttpd/libmicrohttpd.mk

LIBMICROHTTPD_VERSION = 0.9.33

LIBMICROHTTPD_SITE = $(BR2_GNU_MIRROR)/libmicrohttpd

LIBMICROHTTPD_LICENSE = LGPLv2.1+

LIBMICROHTTPD_LICENSE_FILES = COPYING

LIBMICROHTTPD_INSTALL_STAGING = YES

LIBMICROHTTPD_CONF_OPT = --disable-spdy

$(eval $(autotools-package))

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 21/29

Adding a new package: infrastructures

I In order to factorize similar behavior between packages usingthe same build mechanism, Buildroot has packageinfrastructures

I autotools-package for autoconf/automake based packagesI cmake-package for CMake based packagesI python-package for Python Distutils and Setuptools based

packagesI generic-package for non-standard build systemsI Coming: infrastructures for Perl and Lua packages

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 22/29

Legal infrastructure

I License compliance is an important topic for embedded Linuxsystems

I Needs to keep track of the license and source code of eachcomponent

I In Buildroot, licensing informations are attached to eachpackage

I The make legal-info target generates:I A licensing manifest, CSV formatI License text for all componentsI Source code for all components

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 23/29

Dependency graphing

make graph-depends

ALL

rpi-firmware busybox linux tvheadendlibcofi toolchain-external rootfs-tardropbear

lighttpd

rpi-userland i2c-tools

host-python

host-expat

host-autoconf

host-automake

host-libtool

host-zlib

host-pkgconf

host-kmod

host-lzop openssldvb-apps

host-m4

zlibhost-lzo

host-fakeroot host-makedevs host-cmake

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 24/29

Defconfigs

I Pre-defined configurations for popular platforms

I They build a minimal system for the platform

I make <foobar>_defconfig to load one of themI Some of the configs

I RasberryPiI BeagleBoneI CubieBoardI PandaBoardI Many Atmel development boardsI Several Freescale i.MX6 boardsI Many Qemu configurationsI and more...

I make help for the full list

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 25/29

Buildroot, an active project

I Releases publishedevery 3 months

I Growing number ofcontributors: 35-40different contributorseach month

I Growing activity:1500-2000e-mails/month

I Growing number ofpackages

I Bi-yearly physicalmeeting

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 26/29

Buildroot, an active project

I Releases publishedevery 3 months

I Growing number ofcontributors: 35-40different contributorseach month

I Growing activity:1500-2000e-mails/month

I Growing number ofpackages

I Bi-yearly physicalmeeting

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 26/29

Buildroot, an active project

I Releases publishedevery 3 months

I Growing number ofcontributors: 35-40different contributorseach month

I Growing activity:1500-2000e-mails/month

I Growing number ofpackages

I Bi-yearly physicalmeeting

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 26/29

Buildroot, an active project

I Releases publishedevery 3 months

I Growing number ofcontributors: 35-40different contributorseach month

I Growing activity:1500-2000e-mails/month

I Growing number ofpackages

I Bi-yearly physicalmeeting

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 26/29

Buildroot, an active project

I Releases publishedevery 3 months

I Growing number ofcontributors: 35-40different contributorseach month

I Growing activity:1500-2000e-mails/month

I Growing number ofpackages

I Bi-yearly physicalmeeting

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 26/29

Getting support

I Documentation:http://buildroot.org/downloads/manual/manual.html

I Mailing list: [email protected]

I IRC channel: #buildroot on Freenode

I Bug tracker: https://bugs.uclibc.org

I Friendly and welcoming community

I Companies offering commercial support

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 27/29

Conclusion

I Nice : uses well-known technologies and languages, kconfigand make. Active and friendly community.

I Simple : only a few hundreds lines of code to understand thecore infrastructure. Easy to get started, and easy to fullyunderstand the internal mechanisms.

I Efficient : very reasonable build times, only what’s necessarygets built.

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 28/29

Questions?

http://buildroot.org

Thomas [email protected]

Slides under CC-BY-SA 3.0http://free-electrons.com/pub/conferences/2014/lca/buildroot/

Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com 29/29