Fast and Small
Total Page:16
File Type:pdf, Size:1020Kb
Fast and small System description Full build Uncompressed time target filesystem size Embedded Default configuration 12 minutes 1.5 MB Linux uClibc toolchain built from scratch, build system Busybox, tarball image. Default config with glibc external 32 seconds 3.1 MB toolchain Busybox-only system, with a Linaro Simple pre-built glibc toolchain. Fast Real system for a product 11 minutes 11 MB Efficient Linux kernel, glibc Sourcery toolchain, Busybox, Dropbear, Qt (no GUI), QextSerialPort, zlib, libxml2, logrotate, 1 / 14 pppd, strace, popt, Qt application, generated as a JFFS2 image. http://buildroot.net Build times from scratch (no cache), download time excluded. Simple to use Embedded Linux $ make menuconfig build system $ make $ ls output/images/ Simple rootfs.tar uImage u-boot.bin MLO Fast Efficient 2 / 14 http://buildroot.net Vendor neutral Embedded ● Not controlled by any company Linux ● build system Created by a pure open-source community ● Variety of actors – consulting company engineers Simple Fast – product manufacturers Efficient – hobbyists ● GPLv2 licensed 3 / 14 http://buildroot.net Easy to configure Embedded Linux build system Simple Fast Efficient 4 / 14 menuconfig / xconfig Identical to the Linux kernel configuration http://buildroot.net Wide architecture support ● ARM ● AVR32 Embedded Linux ● x86 / x86-64 ● MIPS build system ● PowerPC ● Sparc ● SuperH ● Xtensa ● Blackfin Simple Fast ● Microblaze Efficient ● AArch64 5 / 14 Both MMU-capable and MMU-less architectures are supported. http://buildroot.net Automated build testing Embedded Linux build system Simple Fast Efficient Build of random configurations for many architectures, running 24/7 since one year. About 150 configurations tested every day. 6 / 14 Allows significant improvement of Buildroot quality by detecting problematic configurations. http://autobuild.buildroot.net http://buildroot.net 900+ packages Embedded Linux uClibc/glibc/eglibc toolchain, build system Busybox, Linux, X.org, Qt, Gtk, EFL, Gstreamer, systemd, connman, Linux, Simple UBoot, Barebox, LTTng, Fast Python, Perl, PHP, Lua, Efficient Xenomai, and many, many more... 7 / 14 http://buildroot.net Easy to understand Embedded Linux Fully written in the well-known make build system language. The core infrastructure weighs in at Simple approximately 2000 lines of code, Fast comments included. Efficient 8 / 14 http://buildroot.net Active community Embedded Linux build system Simple Fast Efficient 9 / 14 http://buildroot.net Easy to add new packages package/libvorbis/Config.in config BR2_PACKAGE_LIBVORBIS Embedded bool "libvorbis" Linux select BR2_PACKAGE_LIBOGG help build system Library for the Vorbis open source audio decoder [...] package/libvorbis/libvorbis.mk LIBVORBIS_VERSION = 1.3.3 Simple LIBVORBIS_SOURCE = libvorbis-$(LIBVORBIS_VERSION).tar.gz LIBVORBIS_SITE = http://downloads.xiph.org/releases/vorbis/ Fast LIBVORBIS_INSTALL_STAGING = YES LIBVORBIS_CONF_OPT = --disable-oggtest Efficient LIBVORBIS_DEPENDENCIES = host-pkgconf libogg LIBVORBIS_LICENSE = BSD-3c LIBVORBIS_LICENSE_FILES = COPYING 10 / 14 $(eval $(autotools-package)) http://buildroot.net Well documented Embedded Linux build system A 80 page manual detailing how to use and extend Buildroot. Simple Fast Efficient 11 / 14 http://buildroot.net Eclipse integration Embedded Linux build system Simple Fast Efficient Eclipse plugin that integrates Buildroot toolchains into Eclipse build system, enables remote execution and remote 12 / 14 debugging. https://github.com/mbats/eclipse-buildroot-bundle/wiki http://buildroot.net Board support ● Pre-defined configurations for many popular Embedded boards Linux build system – BeagleBone – PandaBoard – Rasberry Pi (in progress) – SheevaPlug Simple – FriendlyARM Mini2440 Fast – QEMU emulated boards Efficient – AT91 evaluation kits – ARM Foundation v8 simulator 13 / 14 http://buildroot.net Licensing report Embedded ● make legal-info automatically generates Linux – a manifest.csv listing all components and their build system license – a licenses.txt with the license text of all components – a licenses/ directory with all the copyright files – a sources/ directory with all the sources Simple ● Great help for open-source license compliance! Fast Efficient "PACKAGE","VERSION","LICENSE","LICENSE FILES","SOURCE ARCHIVE" "busybox","1.21.0","GPLv2","LICENSE","busybox-1.21.0.tar.bz2" "strace","4.7","BSD-3c","COPYRIGHT","strace-4.7.tar.xz" "fakeroot","1.18.2","GPLv3+","COPYING","fakeroot_1.18.2.orig.tar.bz2" 14 / 14 "lzop","1.03","GPLv2+","COPYING","lzop-1.03.tar.gz" "pkgconf","0.8.9","pkgconf license","COPYING","pkgconf-0.8.9.tar.bz2" http://buildroot.net.