制作稳定版本的rootfs
因为rk3588在windows下可以使用官方提供的烧写工具RKDevTool.exe,因此我们可以对kernel、uboot、rootfs、userdata等进行分区,分别烧写和替换。此文主要提供对已经部署了稳定开发版本的rk3588文件系统进行拷贝并保存。
- 首先对rk3588的开发环境进行配置。
- 制作根文件系统镜像。
- sudo apt install -y ssh rsync
- 在本地PC或虚拟机中同步开发板的文件系统,首先确定本地PC可以ping通开发板。
- 此处假设开发板的ip地址为172.20.10.9
- 在本地PC中新建文件夹,并对开发板中的文件系统进行同步。
mkdir rootfs
sudo rsync -avx linaro@172.20.10.9:/ ./rootfs
- 此时本地PC的rootfs文件夹中中已经全部导入开发板中的文件系统,随后开始制作rootfs.img即可。
- dd if=/dev/zero of=rootfs.img bs=1M count=4000
此处的bs代表一个块的大小,count表示有多少个块,一般通过在原系统中对rootfs和userdata大小之和的预估,来实际写入count的大小。
- mkfs.ext4 rootfs.img
将当前rootfs.img的文件格式改为ext4格式。
- mkdir debian_stable && sudo mount rootfs.img ./debian_stable
此时的rootfs.img还是空的,相当于一个容器,我们将debian_stable文件夹挂载到rootfs.img中,并对其中内容进行填充。
- sudo cp -rfp rootfs/* debian_stable/ && sudo umount debian_stable/
将从开发板中拷贝出来的文件系统重新拷贝到debian_stable中,即填充到rootfs.img中,填充完毕后取消挂载。
- e2fsck -p -f rootfs.img
对rootfs.img进行检查(ext2、ext3、ext4文件格式),-p表示自动修复,-f表示强制检查。
- resize2fs rootfs.img
对rootfs.img的大小进行调整,并将实际大小信息同步到内核中。
- 制作完成rootfs.img后可根据实际大小对分区表(parameter.txt)进行调整。
- 烧录时只烧录文件系统即可。
yangyang_sw