编译根文件系统

根文件系统使用 Buildroot 2023.02.3。板级支持包提供默认配置、启动脚本、无线固件、内核模块和 LVGL 示例程序。

导入默认配置

cd ~/v3s-workspace/buildroot-2023.02.3

make BR2_EXTERNAL="$HOME/v3s-workspace/strongpi-v3s-support" \
     BR2_DEFCONFIG="$HOME/v3s-workspace/strongpi-v3s-support/configs/strongpi_v3s_defconfig" \
     defconfig

默认配置使用已安装到 /opt 的 Linaro 工具链,并包含:

  • BusyBox 基础系统
  • Dropbear SSH 和 SFTP
  • 以太网 DHCP 配置
  • Wi-Fi、wpa_supplicant 和无线固件
  • BlueZ 蓝牙工具
  • ALSA 播放和录音工具
  • i2c-toolsiperf3lrzszsunxi-pio
  • LVGL framebuffer 示例

准备下载缓存

首次编译需要下载各软件包源码。将资料包中的 buildroot-dl-cache.tar.gz 复制到 ~/v3s-workspace 后,先恢复下载缓存:

tar -xzf ~/v3s-workspace/buildroot-dl-cache.tar.gz \
    -C ~/v3s-workspace/buildroot-2023.02.3

解压后应生成 buildroot-2023.02.3/dl/

编译

make

编译产物

ls -lh output/images/rootfs.tar

rootfs.tar 用于制作 TF 卡 ext4 根文件系统和 NAND UBIFS/UBI 镜像。

Buildroot 同时生成应用开发所需的交叉编译环境:

output/host/bin/
output/host/arm-buildroot-linux-gnueabihf/sysroot/

修改配置

make menuconfig

修改完成后保存精简配置:

make savedefconfig
cp defconfig ~/v3s-workspace/strongpi-v3s-support/configs/strongpi_v3s_defconfig

清理方式

重新构建单个软件包通常不需要删除整个输出目录。只有在工具链或架构配置改变时才执行:

make clean

完整清理会删除已编译的软件包,下一次构建耗时较长。