(转载)RK3588 开发板上根文件系统导出并制作 img 镜像

转载地址: https://blog.csdn.net/qq_37596943/article/details/127340405

来源: csdn

著作权归作者所有,任何形式的转载都请联系作者

1. RK3588 开发板上根文件系统导出并制作 img 镜像

具体流程分为三步走:

  • 将开发板 RK3588 的整个根文件系统的文件,通过 ssh 拷贝到 PC 系统(Ubuntu);

  • 将此拷贝的全部文件,加载到虚拟光盘中,制作成 img 文件;

  • 将 img 文件,再烧写回 RK3588 开发板,进行测试。

2. 预准备

在开发板 RK3588 上的文件系统需要安装:ssh、rsync;
本机 PC 电脑或虚拟机(Linux)上安装:ssh、rsync。

3. Linux 系统获取 RK3588 开发板文件系统

确保 RK3588 开发板系统上已安装 rsync

sudo apt-get install rsync

在本机上创建一个目录,用来存放 RK3588 开发板的文件系统

mkdir rootfs

同步开发板文件系统,确保本机能 ping 通开发板,执行:

#RK3588 IP 为 192.168.1.11
sudo rsync -avx [email protected]:/ rootfs

执行结束后可将开发板的文件系统同步到主机上
制作镜像,用 dd 工具创建镜像文件,在主机执行指令(可以制作出一个大小为 3000M 的空 img 文件,大小可以修改 count 值)

dd if=/dev/zero of=rk3588.img  bs=1M count=3000

/dev/zero:为虚拟盘的名字。
rk3588.img:为要建的镜像文件。
bs=1M :表示每块读写 1M 数据。
count=3000:拷贝块的数量。
格式化镜像文件,并加入 linuxroot 卷标

sudo mkfs.ext4 -F -L linuxroot rk3588.img

挂载镜像并往里面拷入修改后的文件系统

#创建镜像文件挂载目录
mkdir ubuntu-mount
#挂载空的 img 文件
sudo mount rk3588.img ubuntu-mount
#将文件系统拷贝到 img 挂载的路径目录下
sudo cp -rfp rootfs/* ubuntu-mount

卸载镜像

sudo umount ubuntu-mount

这样 rk3588.img 里就已经有刚才制作的根目录内容了,但 rk3588.img 文件大小却是定义的分区大小,不是文件系统的实际大小,所以还要经过一些处理才能发布。
检查并修复 rk3588.img 镜像的文件系统

sudo e2fsck -p -f rk3588.img

精简 rk3588.img 镜像文件的大小

sudo resize2fs -M rk3588.img

4. 烧写测试

开发板的文件系统已经重新打包成了 rk3588.img,用该文件和相应的内核文件就可生成系统镜像,烧录镜像后就可直接运行用户程序,从而省掉了重新安装包和其他配置的工作。
生成镜像文件后,就可以重新烧录到开发板进行测试
img 烧录到设备 rootfs 分区
开发板连接 Windows 电脑,并打开 RKDevTool 烧录工具,让开发板进入 Loading 模式;
选择 rootfs 分区,并选择前面制作的根文件系统 rk3588.img,进行烧录;
烧录进度 100% 后,开发板会自动重启,进入新系统。

你可能感兴趣的:(linux,ubuntu,运维)