buildroot官方教材
buildroot官方的教程training

一个简单的Linux系统架构如下:

----------------------------
|	应用	|		|	应用	|
|	库	|		|	C库	|
----------------------------
----------------------------
|	任务/内存管理		|
|	网络	||	文件系统	|
----------------------------
----------------------------
|		Bootloader		|
----------------------------
----------------------------
|				硬件			|
----------------------------

Linux 启动顺序如下:
1. Boatloader:加载DTB(device tree blob)和内核到RAM,启动内核
2. Kernel(内核):初始化硬件设备和内核子系统,安装根文件系统(root=),启动初始化应用,默认为/sbin/init。
3. /sbin/init:启动其它的用户空间的服务和应用程序。
4. 进入Shell或其它应用。

整个嵌入式构建系统如下:
嵌入式构建系统
Buildroot的获取:
1. 可以通过如下的链接获取稳定版本的压缩包: https://buildroot.org/downloads/。
2. 推荐使用Git获取,git clone git://git.busybox.net/buildroot。
3. 当前的LTS的版本为2019.02。

使用Buildroot:
执行make命令。
可在Buildroot源码文件夹中调用make命令来进行交互操作,如:
$ cd buildroot/
$ make help
不需要管理员(root)的权限,Buildroot可以在普通用户权限下执行。
注意!:尽量不要在root权限下使用!
与Linux内核相似,都是使用Kconfig。
可以选择如下的配置接口:
1. make menuconfig
2. make nconfig
3. make xconfig
4. make gconfig
确保在你的系统安装了响应的库(menuconfig/nconfig的ncurses库,xconfig的Qt库和gconfig的Gtk库)。
此外,可以使用如下的代码将构建过程产生的信息输出到log文件,以便分析和研究:$ make 2>&1 | tee build.log
<上述命令的意思为:将错误输出重定向到标准输出,并保存到build.log文件>
构建生成的映像文件在output/images中。
生成的文件取决于你选择的配置,可以分为如下几种:
1. 1~几个不同格式的根文件系统映像。
2. 1个内核映像,可能有1~几个DTB(Device Tree blobs 设备树)文件。
3. 1~几个bootloader映像。

对于不同的设备,没有一种通用的方法来安装这些映像。不过bootloader提供了几种工具来生成SD卡/USB的映像,或者用于flash或特定的boot平台的工具,如Microchip的SAM-BA,i.MX6的imx-usb-loader,OpenOCD等等。

下面我们进入一个简单的练习实验来练习使用Buildroot。

Logo

开源、云原生的融合云平台

更多推荐