![]() | |
開發者 | Peter Korsgaard及其他人 |
---|---|
首次发布 | 2005年1月12日[1] |
当前版本 |
|
源代码库 | https://git.busybox.net/buildroot/ |
编程语言 | Make、shell和C |
操作系统 | Linux |
平台 | 嵌入式Linux |
类型 | 组建自动化 |
许可协议 | GNU GPL版本2及此后 |
网站 | www |
Buildroot是一组Makefile和Patch文件,用来简化和自动化为嵌入式系统建造一个完整和可引导的Linux环境的过程,特别是在使用交叉编译来允许在单一的基于Linux的开发系统上为多个目标平台进行建造的时候。Buildroot可以自动建造所需要的交叉编译工具链,建立根文件系统,编译一个Linux内核映像,并为目标嵌入式系统生成引导装载器,它还可以进行这些独立步骤的任何组合。例如可以独立的使用已经安装好的交叉编译工具链,而只用Buildroot建立根文件系统[3][4][5][6]。
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]。