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,不仅删除所有编译输出,也把配置文件删除了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
2020-05-24 TB ------ 怎么定义“新品”
2018-05-24 Makefile ------ 自动变量( Automatic Variables) $@ $^ %< 的使用
2018-05-24 Makefile ------ .PHONY的作用,伪目标
2018-05-24 批处理 ------ @、ECHO OFF、ECHO ON 的使用
2017-05-24 dimmer