{{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, shell and C | operating system = Linux | platform = Embedded Linux | size = {{Nowrap|6.2 MB}} | genre = Build automation | license = GNU GPL version&nbsp;2 or later }}

'''Buildroot''' is a set of Makefile and patch files that automates the process of building Linux-based system software for an embedded system, including cross-compiling to a target platform that differs from the build system. Buildroot can build a cross-compilation toolchain, a root file system, a Linux kernel image, and a 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 }}</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 }}</ref>

Buildroot supports multiple computer and instruction set architectures including x86, ARM, MIPS, PowerPC and 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, Raspberry&nbsp;Pi and 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 project that creates an embedded operating system, and firmware for the customer-premises equipment (CPE) used by the 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 variants are supported, including the GNU C Library, uClibc and musl, as well as those belonging to various preconfigured development environments, such as Linaro. Buildroot's build configuration system internally uses Kconfig (which is part of the Linux codebase), to provide features such as a menu-driven interface, handling of dependencies, and contextual help. Buildroot is organized as multiple, automatically downloaded packages, which contain the 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 EROFS, cramfs, JFFS2, romfs, SquashFS and 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, maintained by Peter Korsgaard and licensed under version&nbsp;2 or later of the 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, 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