Buildroot
Buildroot是一组Makefile和Patch文件,用来简化和自动化为嵌入式系统建造一个完整和可引导的Linux环境的过程,特别是在使用交叉编译来允许在单一的基于Linux的开发系统上为多个目标平台进行建造的时候。Buildroot可以自动建造所需要的交叉编译工具链,建立根文件系统,编译一个Linux内核映像,并为目标嵌入式系统生成引导装载器,它还可以进行这些独立步骤的任何组合。例如可以独立的使用已经安装好的交叉编译工具链,而只用Buildroot建立根文件系统[3][4][5][6]。
開發者 | Peter Korsgaard及其他人 |
---|---|
首次发布 | 2005年1月12日[1] |
当前版本 |
|
源代码库 | https://git.busybox.net/buildroot/ |
编程语言 | Make、shell和C |
操作系统 | Linux |
平台 | 嵌入式Linux |
类型 | 组建自动化 |
许可协议 | GNU GPL版本2及此后 |
网站 | www |
介绍
Buildroot主要意图用于小型或嵌入式系统,它们基于各种计算机体系结构和指令集之上,包括x86、ARM、MIPS和PowerPC[5]。不仅支持大量的架构及其变体,Buildroot还随带了针对一些现成的嵌入式开发板的缺省配置,比如Cubieboard(页面存档备份,存于)、Raspberry Pi等[7][8]。一些第三方项目和产品使用Buildroot作为其建造系统的基础,包括建立了嵌入式操作系统的OpenWrt计划,和Google Fiber宽带服务所用的用户驻地设备的固件[8][9]。
支持多个C标准库作为工具链的一部分,包括GNU C函数库、uClibc和musl,当然还有属于各种预配置的开发环境的C标准库,比如Linaro所提供的库。Buildroot的建造配置系统内部使用了Kconfig,它提供了一些特征,比如菜单驱动界面,依赖性处理,上下文有关帮助;Kconfig也被Linux内核用于自身的源代码层面配置。Buildroot围绕大量自动下载的软件包而进行组织,这包含了各种用户空间应用、系统实用工具和函数库的源代码。作为最终结果的根文件系统映像,可以使用各种文件系统建造,包括cramfs、JFFS2、romfs、SquashFS和UBIFS[4][8][10]。
Buildroot是自由及开放源代码软件,由Peter Korsgaard维护并在GNU通用公共许可证(GPL)版本2及以后版本下发行[4]。这个项目开始于2001年,最初意图用作uClibc的测试台。每三个月提供新的发行[5][8]。
参见
- BitBake
- BusyBox
- OpenEmbedded
- uClibc
- Yocto计划
引用
- . buildroot.org. [August 16, 2015]. (原始内容存档于2016-03-04).
- https://git.busybox.net/buildroot/plain/CHANGES; 出版日期: 2018年4月9日; 检索日期: 2018年5月21日.
- Alexander Sirotkin. . Linux Journal. August 31, 2011 [December 18, 2014]. (原始内容存档于2018-05-01).
- . buildroot.org. [December 18, 2014]. (原始内容存档于2014-12-18).
- (PDF). buildroot.org. December 1, 2014 [December 18, 2014]. (原始内容存档 (PDF)于2018-04-30).
- Tom Parkin. . LWN.net. April 27, 2010 [August 16, 2015]. (原始内容存档于2018-04-30).
- . git.buildroot.net. December 1, 2014 [December 18, 2014]. (原始内容存档于2014-12-18).
- Peter Korsgaard. (PDF). elinux.org. October 26, 2013 [December 18, 2014]. (原始内容存档 (PDF)于2016-11-07).
- . openwrt.org. December 6, 2014 [December 18, 2014]. (原始内容存档于2018-04-16).
- . at91.com. July 15, 2013 [August 16, 2015]. (原始内容存档于2018-04-30).
外部链接
- 官方网站
- Buildroot: What's new?(页面存档备份,存于), Embedded Linux Conference 2014, by Thomas Petazzoni
- Buildroot: A deep dive into the core, Embedded Linux Conference Europe 2014, by Thomas Petazzoni
- Deciding between Buildroot and Yocto(页面存档备份,存于), LWN.net, April 6, 2016, by Nathan Willis