导出开发板上的根文件系统,并打包制成img镜像

具体流程分为三步走:

  • 第一:将开发板RK3588的整个根文件系统的文件,通过ssh拷贝到PC系统(Ubuntu);
  • 第二:将此拷贝的全部文件,加载到虚拟光盘中,制作成img文件;
  • 第三:将img文件,再烧写回RK3588开发板,进行测试。

预准备:

1、在开发板RK3588上的Ubuntu系统需要安装:ssh、rsync;
2、PC电脑(虚拟机)上安装:ssh、rsync。

Linux系统获取开发板的文件系统并打包img

1、在开发板上安装 rsync

sudo apt-get install rsync

2、在PC主机上创建一个目录

mkdir rootfs

3、同步开发板文件系统

确保主机能ping通开发板,在主机执行:

sudo rsync -avx [email protected]:/ rootfs

ip为开发板的ip,firefly 为用户名,执行结束后可将开发板的文件系统同步到主机上

4、制作镜像,用dd工具创建镜像文件,在主机执行指令

dd if=/dev/zero of=rk3588.img  bs=1M count=3000
  • /dev/zero:为虚拟盘的名字。
  • rk3588.img:为要建的镜像文件。
  • bs=1M :表示每块读写1M数据。
  • count=3000:拷贝块的数量。

5、格式化镜像文件,并加入linuxroot卷标

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

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

mkdir ubuntu-mount
sudo mount rk3588.img ubuntu-mount
sudo cp -rfp rootfs/* ubuntu-mount

7、卸载镜像

sudo umount ubuntu-mount

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

8、检查并修复rk3588.img镜像的文件系统

sudo e2fsck -p -f rk3588.img

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

sudo resize2fs -M rk3588.img

开发板的文件系统已经重新打包成了rk3588.img,用该文件和相应的内核文件就可生成系统镜像,烧录镜像后就可直接运行用户程序,从而省掉了重新安装包和其他配置的工作。

生成镜像文件后,就可以重新烧录到开发板进行测试

img烧录到设备froot分区
1、开发板连接Windows电脑,并打开RKDevTool烧录工具,让开发板进入Loading模式;
2、选择rootfs 分区,并选择前面制作的根文件系统rk3588.img,进行烧录;
3、烧录进度100% 后,开发板会自动重启,进入新系统。

前面有撰写过 Firefly 3588开发板的烧写 教程

至此,大功告成了!!!可以随意的在开发板上进行操作,不用担心一切重新再来的困扰。

你可能感兴趣的:(Linux,开发板,ubuntu,linux,arm,img,firefly)