Buildroot

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Buildroot
Buildroot logo.png
Developer(s) Peter Korsgaard and others
Initial release January 16, 2009; 5 years ago (2009-01-16)[1]
Stable release 2014.11[1] / December 1, 2014; 23 days ago (2014-12-01)
Written in Make, shell, C
Operating system Linux
Platform Embedded Linux
Type Build automation
License GPLv2
Website www.buildroot.org

Buildroot is a set of Makefiles and patches that simplifies and automates the process of building a complete and bootable Linux environment for an embedded system, while using cross-compilation to allow building for multiple target platforms from one Linux-based development system. It can automatically build the required cross-compilation toolchain, create a root file system, compile a Linux kernel image, and generate a boot loader for the targeted embedded system, or it can perform any independent combination of these steps. For example, an already installed cross-compilation toolchain can be used, while Buildroot only creates the root file system.[2][3][4]:2–3,10–12

Buildroot is primarily intended to be used with small or embedded systems based on various computer architectures and instruction set architectures (ISAs), including x86, ARM, MIPS and PowerPC.[4]:2 Numerous architectures and their variants are supported; Buildroot also comes with default configurations for several off-the-shelf available embedded boards, such as Cubieboard, Raspberry Pi and SheevaPlug.[5][6]:25 Several third-party projects and products use Buildroot as the basis for their build systems, including Google Fiber CPEs and OpenWrt.[6]:15[7]

Multiple C standard libraries are supported as part of the toolchain, including Embedded GLIBC, GNU C Library and uClibc, as well as those belonging to preconfigured development environments, such as ones provided by Linaro. Build configuration system uses Kconfig, which is also used for configuration of the Linux kernel source; it provides features such as a menu-driven interface, dependencies handling, and contextual help. Buildroot is organized around numerous automatically downloaded packages, which contain source code of various userspace applications, system utilities, and libraries. Root file system images, which are the final results, may be built using various file systems, including cramfs, JFFS2, romfs, SquashFS and UBIFS.[3][6]:6–7,18

Buildroot is free and open-source software, maintained by Peter Korsgaard and licensed under version 2 of the GNU General Public License.[3] The project started in 2001, with initial intentions to serve as a testbed for uClibc. New releases are made available every three months.[4]:5[6]:4

See also[edit]

  • BusyBox – a software project that provides several stripped-down Unix tools in a single executable file
  • Linux distribution – an operating system made as a collection of software based around the Linux kernel
  • OpenEmbedded – a software framework used for creating Linux distributions aimed for use on embedded devices
  • uClibc – a small C standard library intended for Linux-based embedded systems

References[edit]

  1. ^ a b "Buildroot: News". buildroot.uclibc.org. Retrieved December 18, 2014. 
  2. ^ Alexander Sirotkin (August 31, 2011). "Roll Your Own Embedded Linux System with Buildroot". Linux Journal. Retrieved December 18, 2014. 
  3. ^ a b c "Buildroot: Making embedded Linux easy". buildroot.uclibc.org. Retrieved December 18, 2014. 
  4. ^ a b c "The Buildroot User Manual" (PDF). buildroot.org. December 1, 2014. Retrieved December 18, 2014. 
  5. ^ "Buildroot's changelog (CHANGES file)". git.buildroot.net. December 1, 2014. Retrieved December 18, 2014. 
  6. ^ a b c d Peter Korsgaard (October 26, 2013). "Buildroot: What's new?" (PDF). elinux.org. Retrieved December 18, 2014. 
  7. ^ "OpenWrt Buildroot – About". openwrt.org. Retrieved December 18, 2014. 

External links[edit]