- 板子为:旭日X3 MD,系统为最新的2.0.0
操作过程:
第一步:板子和PC端(ubuntu20.04)都安装rsync
sudo apt-get install rsync
第二步:在PC主机上创建一个目录(由于我系统存储不够,所以我把该文件存到外置硬盘中了)-
mkdir /media/horizon/Toutou/sunrise/rootfs
第三步:同步开发板文件系统(我的是Ubuntu在虚拟机中,板子连接我电脑的热点,ping不通但是ssh能连上。应该是防火墙的事儿,没管它,不影响)
sudo rsync -avx sunrise@192.168.137.11 /media/horizon/Toutou/sunrise/rootfs
第四步:制作镜像,用dd工具创建镜像文件,在PC端(ubuntu20.04)执行指令(我查看了rootfs文件为6.5G,我就创建一个6.6G的img镜像文件)
dd if=/dev/zero of=sunrise_v1.1.img bs=1M count=6750
第五步:格式化镜像文件,并加入linuxroot卷标
sudo mkfs.ext4 -F -L linuxroot sunrise_v1.1.img
第六步:挂载镜像并往里面拷入修改后的文件系统(由于是外置移动硬盘,故该操作速度很慢。约1小时)
mkdir ubuntu-mount
sudo mount sunrise_v1.1.img ubuntu-mount
sudo cp -rfp /media/horizon/Toutou/sunrise/rootfs/* ubuntu-mount
第七步:卸载镜像(在卸载之前,我看到ubuntu-mount的free size很小)
sudo umount ubuntu-mount
第八步:检查并修复sunrise_v1.1.img镜像的文件系统
sudo e2fsck -p -f sunrise_v1.1.img
第九步:精简sunrise_v1.1.img镜像文件的大小
sudo resize2fs -M rk3588.img
(这一步最后提示 Nothing to do,我看别人的贴子这一步会压缩空余的空间,但是我执行这一步不会变小,我原来第四步设置的是dd if=/dev/zero of=sunrise_v1.1.img bs=1M count=8000,而且第七步我卸载前看到ubuntu-mount的free size为781M,但是这一步就是不会变小,所以第四步我才调整为6.6G)
第十步:把sunrise_v1.1.img镜像拷贝到windows端
(我的vm tools没有配置好,只能复制粘贴文字和小文件,大文件搞不定,我使用Xftp传过来的)
第十一步:镜像对比(左边是我做出来的,右边是官方原来的)
第十二步:连接开发板,加载镜像(添加镜像,下载器说不支持该文件,我直接重命名为:ubuntu-preinstalled-desktop-arm64.img。然后顺利加载)
第十三步:烧录完成,关boot上电开机(下面是原来的板子正常启动,ACT跳动。上面的板子是刚刚刷进去的系统,ACT不跳动,接上HDMI也无反应)
结论:镜像备份失败,刷了3次,均无法正常开机进入系统
参考资料:-
https://blog.csdn.net/Cappuccino\_jay/article/details/125162742