当前位置:网站首页>一、buildroot目录结构
一、buildroot目录结构
2022-07-23 01:28:00 【小果壳】
1、什么是buildroot
Buildroot是linux平台上一个开源的嵌入式Linux系统自动构建框架。一个linux系统主要包含bootloader、kernal和rootfs三部分。我们可以独立去开发各个部分,在使用的时候分别去交叉编译,烧写这些软件组件。buildroot这个工具提供了一种更为高效的方法,他把bootloader、kernal和rootfs集成在一起,可以非常方便的去定制、管理、编译和组装一个自己需要的、针对自己的设备的一个完整的软件系统。我们可以利用buildroot针对自己的嵌入式设备开发完整的BSP和SDK。
2、获取buildroot
可以从官网 http://buildroot.org/downloads/ 获取buildroot的发行包。
通过github仓库获取:
git clone git://git.busybox.net/buildroot
未编译的buildroot源码目录如下:
arch:CPU架构相关的配置脚本
board:在构建系统时,board默认的boot和Linux kernel配置文件,以及一些板级相关脚本
boot:uboot的配置脚本目录
configs:板级配置文件,该目录下的配置文件记录这该机器平台或者方案使用的工具链,boot,kernel,各种应用软件包配置
docs:
fs:各种文件系统的自动配置脚本
linux:存放Linux kernel的自动构建脚本
package:第三方开源包的自动构建脚本,用来配置编译dl目录下载的开源包
support:
system:存放文件系统目录的和设备节点的模板,这些模板会被拷贝到output/目录下,用于制作根文件系统rootfs
toolchain:存放着各种制作工具链的脚本
编译之后的源码目录中增加了dl 和 output 目录
- dl:download的简写,下载一些开源包。第一次下载之后,下次就不会再去从官网下载了,而是从dl/目录下拿开源包,以节约时间
编译出的output输出目录介绍:
images:存放所有编译生成的映像文件(内核、bootloader、根文件系统映像)
build:构建所有组件的位置,包括主机上Buildroot所需的工具和针对目标编译的软件包。该目录为每个组件包含一个子目录
host:包含为主机构建的工具和目标工具链
staging:是到内部目标工具链host/的符号链接
target:它几乎包含了目标的完整根文件系统。除了设备文件/dev/(Buildroot无法创建它们,因为Buildroot不能以root身份运行并且不想以root身份运行)之外,所需的一切都存在
3、工具链
buildroot提供了两种交叉编译工具链的解决方案:
- 内部工具链,称为Buildroot toolchain在配置接口。
- 外部工具链EXternal toolchain

Toolchain:设置为 Custom toolchain,表示使用用户自己的交叉编译器。
Toolchain origin:设置为 Pre-installed toolchain,表示使用预装的交叉编译器。
Toolchain path:设置自己安装的交叉编译器绝对路径!buildroot 要用到。
Toolchain prefix:设置交叉编译器前缀,要根据自己实际所使用的交叉编译器来设置,比如我们使用的是 arm-linux-gnueabihf-gcc,因此前缀就是$(ARCH)-linux-gnueabihf,其中 ARCH我们前面已经设置为了 arm。
边栏推荐
猜你喜欢

涨薪神器
![[ManageEngine] six essential functions of network configuration management](/img/dc/df353da0e93e4d936c39a39493b508.png)
[ManageEngine] six essential functions of network configuration management

VS Code快捷键设置

What is the combined effect of compose and recyclerview?
银联最新测试工程师笔试题目,你能得多少分?

The pit trodden by real people tells you to avoid the 10 mistakes often made in automated testing

一个月学透阿里整理的分布式架构笔记

实行自动化网络性能监控的优势

MongoDB的CRUD操作(2)

Salary increase artifact
随机推荐
2000. 反转单词前缀
EasyV半年度“官方网站热门内容”排行榜盘点
提升从改变开始...
只有漂亮的才能点开
力扣(LeetCode)203. 移除链表元素(2022.07.22)
2302. 统计得分小于 K 的子数组数目-滑动数组-双百代码
一文了解微服务低代码实现方式
Is it safe to open an account online? How about Galaxy Securities
C language classic exercise (1) - "daffodil number"“
万物互联时代,看IoT测试如何应对“芯”挑战
Notifyicondata tray used by BCG
TFW6524完美替代进口PT6524芯片方案简介
Cbcgpcolordialog control used by BCG
Props and context in setup
1646. 获取生成数组中的最大值递归法
【管理篇 / 升级】* 02. 查看升级路径 * FortiGate 防火墙
LeetCode 练习——关于二叉树的最近公共祖先两道题
为什么使用Well-Architected Framework?
强制打开网页
-bash: wget: 未找到命令