buildroot 入门介绍
简介
Buildroot是Linux平台上一个开源的嵌入式Linux系统自动构建框架。通过配置,一次性编译根文件系统、kernel、uboot。
制作特定功能的根文件系统,可能需要用到 busybox、ffmpeg 等一系列第三方开源软件。可以通过 make menuconfig 配置选项,生成特定的根文件系统。
busybox 和 buildroot 的区别
busybox: 虽然可以只利用 busybox 生成根文件系统,但是是最基本的功能,并且一些必要的文件还需要手动创建。它是一个精简的 Unix 工具集合,将许多常见的 POSIX 工具(譬如vi、cd、mkdir、ls等)组合到一个可执行文件中。BusyBox 的目标是以一个可执行文件的形式提供核心系统工具,而无需为每个工具单独编译和安装。
buildroot: 使用 busybox 和其他第三方开源库,可以生成功能丰富、直接能用的根文件系统。
注
虽然通过 buildroot 可以一个指令完成编译根文件系统、kernel、uboot,但是 buildroot 最大的功能还是生成功能丰富的根文件系统,至于一同编译 kernel 和 uboot,完全可以通过简单 shell 脚本实现。
文件结构
dl
通过 buildroot 下载的软件压缩包会放在这里,比如 busybox
out
out/build: 解压后的软件
out/image: 打包好的根文件系统
out/target: 未打包的根文件系统
configs
defconfig 文件夹
Miscellaneous
BR2_DEFCONFIG:存放使用的是哪个 defconfig,make savedefconfig 会把 .config 去掉 default 参数后存入 defconfig
make distclean 相比于 make clean,不仅删除所有编译输出,也把配置文件删除了