Skip to content

在docker中编译buildroot系统

一.编译说明

主要参考: 泰山派编译方法

参考: buildroot的编译原理

二.编译前题

阅读SDK包环境搭建
完成环境搭建后,就可以开始编译了.

二.如何编译buildroot系统

1. 进入docker 容器

通过环境搭建后,就已经进入到了容器内部,如果退出了容器,可以通过 sudo docker attach 容器ID 命令进入容器。

2. 开始编译

bash
export RK_ROOTFS_SYSTEM=buildroot && ./build.sh all

3. 电源选择

在出现的对话框中,选择对应的电源类型,选择不对会编译报错,这里大家记住除了VCCIO4和6选1.8V其他都选3V3,

4. 固件打包

bash
./mkfirmware.sh

通过以上命令之后,会生成一组镜像文件,位于: ./rockdev 目录下。

txt
lckfb@lckfb:~$ ls -al ./rockdev/
total 12384
drwxr-xr-x  2 lckfb lckfb     4096 Oct  2 06:32 .
drwxrwxr-x 18 lckfb lckfb     4096 Oct  2 03:21 ..
lrwxrwxrwx  1 lckfb lckfb       18 Oct  2 06:32 boot.img -> ../kernel/boot.img
lrwxrwxrwx  1 lckfb lckfb       41 Oct  2 06:32 MiniLoaderAll.bin -> ../u-boot/rk356x_spl_loader_v1.13.112.bin
lrwxrwxrwx  1 lckfb lckfb       44 Oct  2 06:32 misc.img -> ../device/rockchip/rockimg/wipe_all-misc.img
-rw-r--r--  1 lckfb lckfb 17457152 Oct  2 06:32 oem.img
lrwxrwxrwx  1 lckfb lckfb       53 Oct  2 06:32 parameter.txt -> ../device/rockchip/rk356x/parameter-buildroot-fit.txt
lrwxrwxrwx  1 lckfb lckfb       64 Oct  2 06:32 recovery.img -> ../buildroot/output/rockchip_rk356x_recovery/images/recovery.img
lrwxrwxrwx  1 lckfb lckfb       54 Oct  2 04:31 rootfs.ext4 -> ../buildroot/output/rockchip_rk3566/images/rootfs.ext2
lrwxrwxrwx  1 lckfb lckfb       54 Oct  2 06:32 rootfs.img -> ../buildroot/output/rockchip_rk3566/images/rootfs.ext2
lrwxrwxrwx  1 lckfb lckfb       19 Oct  2 06:32 uboot.img -> ../u-boot/uboot.img
-rw-r--r--  1 lckfb lckfb  4472832 Oct  2 06:32 userdata.img

此时生成的是一个分散的镜像组,需要合并成一个镜像文件,执行如下命令:

bash
./build.sh updateimg

执行后,最终生成镜像文件: update.img ,位于: ./rockdev 目录下。

如何烧录镜像

烧录镜像的方法,请参考: 烧录镜像