定制根文件系统¶
Buildroot 负责选择软件包和生成基础根文件系统,strongpi-v3s-support/rootfs_overlay 负责安装板级配置和自定义文件。
添加软件包¶
cd ~/v3s-workspace/buildroot-2023.02.3
make menuconfig
在 Target packages 中选择需要的软件,保存后执行:
make
使用 rootfs overlay¶
覆盖层中的路径对应开发板根目录。例如:
strongpi-v3s-support/rootfs_overlay/etc/myapp.conf
会安装为:
/etc/myapp.conf
安装自定义程序:
install -D -m 0755 myapp \
~/v3s-workspace/strongpi-v3s-support/rootfs_overlay/usr/bin/myapp
添加配置文件:
install -D -m 0644 myapp.conf \
~/v3s-workspace/strongpi-v3s-support/rootfs_overlay/etc/myapp.conf
添加开机服务¶
BusyBox init 按文件名顺序执行 /etc/init.d/S*。启动脚本至少应支持 start 和 stop:
#!/bin/sh
case "$1" in
start)
/usr/bin/myapp &
;;
stop)
killall myapp 2>/dev/null || true
;;
restart)
"$0" stop
"$0" start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
安装并设置权限:
install -D -m 0755 S30myapp \
~/v3s-workspace/strongpi-v3s-support/rootfs_overlay/etc/init.d/S30myapp
编号应根据依赖关系选择,例如网络初始化完成后再启动依赖网络的应用。
重新生成镜像¶
cd ~/v3s-workspace/buildroot-2023.02.3
make
Buildroot 生成新的 output/images/rootfs.tar。之后还需要重新制作 TF 卡镜像或 NAND ubi.img;只重新编译 Buildroot不会自动更新已经烧录的开发板。