buildroot官方教材2
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。