# Buildroot

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Buildroot
> Markdown URL: https://mediated.wiki/source/Buildroot.md
> Source: https://en.wikipedia.org/wiki/Buildroot
> Source revision: 1342156699
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

{{Short description|Tool for building Linux}}
{{Use mdy dates|date=December 2014}}
{{Infobox software
| name                   = Buildroot
| title                  = Buildroot
| logo                   = Buildroot logo.png
| logo size              = 120px
| logo caption           = 
| logo alt               = A yellow hardhat, similar to those used by construction workers
| screenshot             = 
| caption                = 
| collapsible            = 
| author                 = 
| developer              = Peter Korsgaard and others
| released               = {{Start date and age|2005|01|12}}<ref>{{cite web
 | url = https://buildroot.org/downloads/old/
 | title = Old Buildroot downloads (index of /downloads/old)
 | access-date = August 16, 2015
 | website = buildroot.org
}}</ref>
| latest release version = {{wikidata|property|preferred|references|edit|Q1003023|P348|P548=Q2804309}}
| latest release date    = {{wikidata|qualifier|preferred|single|Q1003023|P348|P548=Q2804309|P577}}
| programming language   = [Make](/source/Make_(software)), [shell](/source/List_of_command-line_interpreters) and [C](/source/C_(programming_language))
| operating system       = [Linux](/source/Linux)
| platform               = [Embedded Linux](/source/Embedded_Linux)
| size                   = {{Nowrap|6.2 MB}}
| genre                  = [Build automation](/source/Build_automation)
| license                = [GNU GPL](/source/GNU_GPL) version&nbsp;2 or later
}}

'''Buildroot''' is a set of [Makefile](/source/Makefile) and [patch](/source/Patch_(Unix)) [files](/source/file_(computing)) that [automates the process of building](/source/build_automation) [Linux](/source/Linux)-based system [software](/source/software) for an [embedded system](/source/embedded_system), including [cross-compiling](/source/Cross_compiler) to a target platform that differs from the build system. Buildroot can build a cross-compilation [toolchain](/source/toolchain), a [root file system](/source/root_file_system), a [Linux kernel](/source/Linux_kernel) image, and a [boot loader](/source/boot_loader).<ref>{{cite magazine
 | url = http://www.linuxjournal.com/article/10795
 | title = Roll Your Own Embedded Linux System with Buildroot
 | date = August 31, 2011 | access-date = December 18, 2014
 | author = Alexander Sirotkin | magazine = [Linux Journal](/source/Linux_Journal)
}}</ref><ref name="buildroot-about">{{cite web
 | url = http://buildroot.org/about.html
 | title = Buildroot: Making embedded Linux easy
 | access-date = December 18, 2014
 | website = buildroot.org
 | url-status = dead
 | archive-url = https://web.archive.org/web/20141218125412/http://www.buildroot.org/about.html
 | archive-date = December 18, 2014
 | df = mdy-all
 }}</ref><ref name="buildroot-manual">{{cite web
 | url = http://buildroot.org/downloads/manual/manual.pdf
 | title = The Buildroot User Manual
 | date = December 1, 2014 | access-date = December 18, 2014
 | website = buildroot.org }}</ref>{{rp|2&ndash;3,10&ndash;12}}<ref>{{cite web
 | url = https://lwn.net/Articles/384713/
 | title = Tools and distributions for embedded Linux development
 | date = April 27, 2010 | access-date = August 16, 2015
 | author = Tom Parkin | publisher = [LWN.net](/source/LWN.net)
}}</ref>

Buildroot supports multiple [computer](/source/computer_architectures) and [instruction set](/source/instruction_set_architecture) architectures including [x86](/source/x86), [ARM](/source/ARM_architecture), [MIPS](/source/MIPS_architecture), [PowerPC](/source/PowerPC) and [RISC-V](/source/RISC-V).<ref>{{Cite web |title=Buildroot: what's new? - Embedded Linux Conference |url=https://bootlin.com/pub/conferences/2022/elc/petazzoni-buildroot-whats-new/petazzoni-buildroot-whats-new.pdf|date=2022|access-date=October 2, 2023 |website=bootlin.com}}</ref> Buildroot comes with configurations for several off-the-shelf embedded boards, such as [Cubieboard](/source/Cubieboard), [Raspberry&nbsp;Pi](/source/Raspberry%26nbsp%3BPi) and [SheevaPlug](/source/SheevaPlug).<ref>{{cite web
 | url = http://git.buildroot.net/buildroot/plain/CHANGES?id=2014.11
 | title = Buildroot's changelog (CHANGES file)
 | date = December 1, 2014 | access-date = December 18, 2014
 | website = git.buildroot.net
}}</ref><ref name="elinux-elce2013">{{cite web
 | url = http://elinux.org/images/2/23/Buildroot-whats-new-elce2013.pdf
 | title = Buildroot: What's new?
 | date = October 26, 2013 | access-date = December 18, 2014
 | author = Peter Korsgaard | website = elinux.org
 }}</ref>{{rp|25}} Several third-party projects and products use Buildroot as the basis for their build systems, including the [OpenWrt](/source/OpenWrt) project that creates an [embedded operating system](/source/embedded_operating_system), and [firmware](/source/firmware) for the [customer-premises equipment](/source/customer-premises_equipment) (CPE) used by the [Google Fiber](/source/Google_Fiber) broadband service.<ref name="elinux-elce2013" />{{rp|15}}<ref>{{cite web
 | url = http://wiki.openwrt.org/about/toolchain
 | title = OpenWrt Buildroot – About
 | date = December 6, 2014 | access-date = December 18, 2014
 | website = openwrt.org
}}</ref>

Multiple [C standard library](/source/C_standard_library) variants are supported, including the [GNU C Library](/source/GNU_C_Library), [uClibc](/source/uClibc) and [musl](/source/musl), as well as those belonging to various preconfigured development environments, such as [Linaro](/source/Linaro). Buildroot's build configuration system internally uses [Kconfig](/source/Kconfig) (which is part of the Linux codebase), to provide features such as a menu-driven interface, handling of [dependencies](/source/Dependency_(computer_science)), and [contextual help](/source/contextual_help). Buildroot is organized as multiple, automatically downloaded [packages](/source/Package_(package_management_system)), which contain the [source code](/source/source_code) of various [userspace](/source/userspace) applications, system utilities, and [libraries](/source/Library_(computing)). Root file system images, which are the final results, may be built using various [file system](/source/file_system)s, including [EROFS](/source/EROFS), [cramfs](/source/cramfs), [JFFS2](/source/JFFS2), [romfs](/source/romfs), [SquashFS](/source/SquashFS) and [UBIFS](/source/UBIFS).<ref name="buildroot-about" /><ref name="elinux-elce2013" />{{rp|6&ndash;7,18}}<ref>{{cite web
 | url = http://www.at91.com/linux4sam/bin/view/Linux4SAM/BuildRoot
 | title = Linux4SAM: BuildRoot
 | date = July 15, 2013 | access-date = August 16, 2015
 | website = at91.com
}}</ref>

Buildroot is [free and open-source software](/source/free_and_open-source_software), maintained by Peter Korsgaard and licensed under version&nbsp;2 or later of the [GNU General Public License](/source/GNU_General_Public_License) (GPL).<ref name="buildroot-about" /> The project started in 2001, with initial intentions to serve as a testbed for uClibc. New releases are made available every three months.<ref name="buildroot-manual" />{{rp|5}}<ref name="elinux-elce2013" />{{rp|4}}

== See also ==
{{Portal|Computer programming|Free and open-source software|Linux}}

* {{Annotated link |BitBake}}
* {{Annotated link |BusyBox}}
* {{Annotated link |Linux distribution}}
* {{Annotated link |OpenEmbedded}}
* {{Annotated link |OpenWrt}}
* {{Annotated link |uClibc}}
* {{Annotated link |Yocto Project}}

== References ==
{{Reflist|30em}}

== External links ==
* {{Official website|https://buildroot.org/}}
* [http://elinux.org/images/1/1d/Petazzoni-buildroot-whats-new.pdf Buildroot: What's new?], Embedded Linux Conference 2014, by Thomas Petazzoni
* [https://events.static.linuxfound.org/sites/events/files/slides/petazzoni-dive-into-buildroot-core.pdf Buildroot: A deep dive into the core], Embedded Linux Conference Europe 2014, by Thomas Petazzoni
* [https://lwn.net/Articles/682540/ Deciding between Buildroot and Yocto], [LWN.net](/source/LWN.net), April 6, 2016, by Nathan Willis

{{Linux}}
{{Mobile operating systems}}
{{Real-time operating systems}}
{{Embedded systems}}

Category:Build automation
Category:Embedded Linux
Category:Free computer programming tools

---
Adapted from the Wikipedia article [Buildroot](https://en.wikipedia.org/wiki/Buildroot) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Buildroot?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
