查看buildroot的详细编译命令,如下图。
图1.1 编译文件系统
上面的命令是配置buildroot对应的默认配置defconfig,然后编译。注意:Buildroot编译只需停留在SDK根目录,不需要进入buildroot文件夹。
对应平台的默认配置文件由./build.shlunch操作中选择的mk文件决定,如下所示。
图1.2 选择SDK配置文件
配置完成后,直接查看device/rockchip/rk356x/BoardConfig-rk3568-evb1-ddr4-v10.mk文件,由RK_CFG_BUILDROOT决定,如下图。
图1.3 rootfs配置文件部分
首先导入上面指定的默认配置。操作命令如下:
sourceenvsetup.shrockchip_rk3568
输入menuconfig修改buildroot配置。命令如下。
cdbuildroot
制作菜单配置
进入配置界面如下图。
图1.4 进入buildroot配置界面
输入“/”,进入menuconfig搜索功能,如下图。
图1.5 查找buildroot配置
搜索功能可以在复制的配置路径中快速找到所需的目标配置。例如,输入“dhcp”可查看该选项的说明,如下所示。
图1.6 目标配置帮助
例如,选项名称为BR2_PACKAGE_DHCP,menuconfig 中的名称由Prompt 指定,选项配置的路径由Location 指定,选项的依赖关系由Dependson 指定。
使用空格键修改配置,按ESC键退出menuconfig。
修改默认配置前,请备份旧配置。
cpconfigs/rockchip_rk3568_defconfigconfigs/rockchip_rk3568_defconfig_bak
cpconfigs/rockchip_rk356x_recovery_defconfigconfigs/rockchip_rk356x_recovery_defconfig_bak
输入以下命令以覆盖默认配置。
makesavedefconfig
如果需要修改busybox配置,比如添加depmod,可以在buildroot目录下使用以下命令进入配置。
makebusybox-menuconfig
图1.7 进入busybox配置界面
按y查看后按Esc保存退出。
图1.8 保存配置
备份并更新原来的busybox.config。
cpboard/rockchip/common/base/busybox.configboard/rockchip/common/base/busybox.config.bak
cpoutput/build/busybox-1.27.2/.configboard/rockchip/common/base/busybox.config
重新编译busybox:
makebusybox重建
修改配置后,在SDK根目录下输入./build.shrootfs命令重新编译。
/work/bsp/rk356x$./build.shrootfs
编译成功后,可以在rockdev目录下看到新的rootfs.img。