buildroot 目录结构
board
存放着不同厂商相关的文件
buildroot-2023.02/board/sipeed/lichee_rv_dock
里面描述了如何连接wifi,蓝牙,烧写sdcard.img
如何配置buildroot和编译等
make sipeed_lichee_rv_dock_defconfig
make
arch
存放着CPU相关的文件,针对各个CPU的类型应该选择什么配置
例如arch.mk.riscv,Config.in
Config.in
config BR2_riscv
bool "RISCV"
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
help
RISC-V is an open, free Instruction Set Architecture created
by the UC Berkeley Architecture Research group and supported
and promoted by RISC-V Foundation.
https://riscv.org/
https://en.wikipedia.org/wiki/RISC-V
if BR2_riscv
source "arch/Config.in.riscv"
endif
configs
存储了不同board的编译配置
例如执行配置 make sipeed_lichee_rv_dock_defconfig
sipeed_lichee_rv_dock_defconfig
就在configs文件夹中
还有其他类型的board例如
sipeed_lichee_rv_defconfig
dl
存储着下载的源码
docs
开发使用文档
linux
存储Linux kernel的自动构建脚本.
选择内核
make menuconfig
Buildroot配置内核
make linux-menuconfig
package
软件包
每个程序的配置文件有Config.in和package_name.mk,
package_name.mk是Makefile的自动构建脚本,可以下载程序的包。
toolchain
存储制作工具链的脚本
support
支持的程序和脚本,例如下载工具
配置选项对应的Config.in位置
Target options: arch/Config.in
Toolchain: toolchain/Config.in
Build options: Config.in
System configuration: system/Config.in
Kernel: linux/Config.in
Target packages: package/Config.in
Filesystem images: fs/Config.in
Bootloaders: boot/Config.in
Host utilities: package/Config.in.host
Legacy config options: Config.in.legacy
Bootloaders —>
(thead/c910) OpenSBI Platform
U-Boot binary format --->
[*] Custom (specify below)
(u-boot-sun20iw1p1.bin) U-Boot binary format: custom names
Boot configuration (Using an in-tree board defconfig file) --->
(sun20iw1p1) Board defconfig