编译 buildroot
- 从官网下载代码
buildroot-2021.11.tar.xz
- 从头开始配置再编译(没有使用 config 文件)
需要通过 make menuconfig 进行配置,然后再编译。
make help make menuconfig make savedefconfig //如果用了lei19_defconfig就会直接更新到lei19_defconfig make |
---|
- 使用 config 文件直接编译
需要把 defconfig 文件放到 configs/ 目录下,再执行 make config_name 进行编译。
cp defconfig configs/lei19_defconfig make lei19_defconfig |
---|
- [参考] lei19_defconfig 文件内容
| arley@dellvbx:buildroot-2021.11$ cat configs/lei19_defconfig
BR2_aarch64=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_KERNEL_HEADERS_5_4=y
BR2_PACKAGE_GLIBC_UTILS=y
BR2_SYSTEM_BIN_SH_BASH=y
BR2_ROOTFS_OVERLAY=”/home/arley/work-buildroot/xen_install”
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
BR2_PACKAGE_LMBENCH=y
BR2_PACKAGE_MEMSTAT=y
BR2_PACKAGE_STRACE=y
BR2_PACKAGE_STRESS=y
BR2_PACKAGE_BINUTILS=y
BR2_PACKAGE_OPENSSL=y
BR2_PACKAGE_PIXMAN=y
BR2_PACKAGE_DTC=y
BR2_PACKAGE_LIBAIO=y
BR2_PACKAGE_YAJL=y
BR2_PACKAGE_SLIRP=y
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_UTIL_LINUX=y
BR2_PACKAGE_UTIL_LINUX_LIBUUID=y
BR2_PACKAGE_UTIL_LINUX_KILL=y
BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM=”qemu”
BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BOARD_DEFCONFIG=”qemu_arm64” | | —- |
添加自己的 Binary
在buildroot编译的末期,需要对编译结果进行一些检查或者其他操作。buildroot预留了两个接口:
BR2_ROOTFS_OVERLAY - 指向一个目录,此目录下的所有文件将会覆盖到output/target下。比如一些配置文件,或者预编译的库等可以在此阶段处理。
BR2_ROOTFS_POST_BUILD_SCRIPT - 一个脚本,更加复杂的对文件进行删除、重命名、strip等等功能。
(可以通过 make menuconfig 进行配置)
生成 SDK
编译 SDK
make sdk ls output/images/aarch64-buildroot-linux-gnu_sdk-buildroot.tar.gz |
---|
添加 environment-setup 脚本
参考下图生成environment-setup,并放到SDK 根目录。
安装 SDK
cd pub_res/ tar xf aarch64-buildroot-linux-gnu_sdk-buildroot.tar.gz cd aarch64-buildroot-linux-gnu_sdk-buildroot ./relocate-sdk.sh / 文件路径自动重定向 / |
---|