buildroot初探-以firefly-roc-rk3588s为例(https://buildroot.org/)

  • 让嵌入式linux开发更容易
  • 管理一切!为嵌入式设备生成交叉编译工具链,文件系统,交叉编译bootloader和kernel image
  • 易用!所有配置通过像linux一样的menuconfig,gconfig和xconfig
  • 支持丰富的package资源,构建你需要的rootfs
  • 由Makefile和Kconfig构成

使用流程

  • 选择一个defconfig
  • 根据需要配置buildroot
  • 编译buildroot
  • 在目标板上运行buildroot构建的系统

目录介绍

fuqiang@ubuntu:~/workspace/rk3588/rk3588/buildroot$ tree -L 1
.
├── arch  //存放CPU架构相关的配置脚本,如arm/mips/x86,这些CPU相关的配置,在制作工具链时,编译uboot和kernel时很关键
├── board  //具体单板相关的文件
├── boot  //bootloaders 的构建、配置文件
├── build
├── CHANGES  //Buildroot 修改日志
├── Config.in
├── Config.in.legacy
├── configs  //放置开发板的一些配置参数
├── COPYING
├── DEVELOPERS
├── dl  //编译过程中生成,存放下载的源代码及应用软件的压缩包
├── docs  //存放相关的参考文档
├── fs  //放各种文件系统的源代码
├── linux  //存放着Linux kernel的自动构建脚本
├── Makefile
├── Makefile.legacy
├── output  //编译过程中生成,是编译出来的输出文件夹
│ ├── build  //存放解压后的各种软件包编译完成后的现场
│ ├── host  //存放着制作好的交叉编译工具链,如gcc、arm-linux-gcc等工具
│ ├── images  //存放着编译好的uboot.bin, zImage, rootfs等镜像文件,可烧写到板子里, 让linux系统跑起来
│ ├── target  //用来制作rootfs文件系统,里面放着Linux系统基本的目录结构,以及编译好的应用库和bin可执行文件
├── package  //下面放着应用软件的配置文件,每个应用软件的配置文件有Config.in和soft_name.mk
├── README  //Buildroot 简单说明
├── support  //为 Bulidroot 提供功能支持的脚本、配置文件
├── system  //制作根文件系统的构建、配置文件
├── toolchain  //交叉编译工具链的构建、配置文件
└── utils  //实用工具

15 directories, 8 files

配置

整体配置

make menuconfig

Target options  //选择目标板架构特性。
Build options  //配置编译选项。
Toolchain  //配置交叉工具链,使用buildroot工具链还是外部提供。
System configuration  //系统配置
Kernel  //配置内核
Target packages  //配置应用包
Filesystem images  //配置文件系统
Bootloaders  //硬件启动程序
Host utilities  //
Legacy config options  //

内核配置

对Linux内核的配置包括两部分:

  • 通过make menuconfig进入Kernel对内核进行选择
  • 通过make linux-menuconfig对内核内部进行配置

buildroot框架

细节

常见问题

单独编译某一个包?

以libv4l为例:

  • souce build/envsetup.sh
  • 确保模块已经打开,如果已经打开,忽略此步骤,进入buildroot主目录后,make menuconfig,利用 / 搜索模块所在位置,利用 Y 选中模块,退出make menuconfig
  • buildroot主目录,执行 make libv4l-rebuild
  • 在 buildroot/output/XXX平台/target/usr/bin 下可找到可执行文件,可执行文件需要的库可以在buildroot/output/XXX平台/target/usr/lib下找到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码论斤卖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值