如何备份RDK X3的 SD卡镜像

该方法可以在Ubuntu的开发机上生成一个img镜像,后续可以直接使用rufus软件烧录备份好的镜像。

Step 1:在Ubuntu的开发机上安装gparted软件

如果安装失败则需要为您的Ubuntu开发机换源,这里推荐阿里源:https://developer.aliyun.com/article/753753

sudo apt-get install gparted

Step 2:将SD卡通过读卡器,插入到开发机。

如果使用的是虚拟机,需要选择将设备连接到虚拟机,例如VMWare在选项栏中选择:虚拟机 - 可移动设备 - 设备名称 - 连接(断开与主机的连接),其中设备名称可以通过设备管理器查看、逐个尝试或者插入拔出前后比较等方法来确定。

Step 3:通过gparted软件查看扇区备份的终点

sudo gparted  # 通过终端运行

-
假装要压缩-
-
查看分区的终点,记住这个Total sectors,我这边是15208448-
-
这里需要点确认,安全压缩镜像的数据部分。

Step 4:开始备份

sudo dd bs=512 count=[Total sectors+1] if=/dev/mmcblk0 of=rdkx3_backup.img

其中count=[Total sectors+1]就是count=15208449,if=/dev/mmcblk0就是设备,我这边是/dev/mmcblk0,一般U盘是/dev/sdb*啥啥,of=rdkx3_backup.img就是保存的镜像名称为rdkx3_backup.img

Tips:dd命令没有进度条,我们可以另外开一个Terminal,通过df -h命令来估算

df -h ~/

~/是我备份的目录,可以看到目录占用在慢慢增加,等增加了7个GB左右说明差不多了。

Step 5:利用rufus烧录打包的img镜像,同时拓展SD卡空间

如果使用df -h 命令查看最大空间,发现不是SD卡最大空间,可以参考以下命令拓展:

# 如使用V1.x版本,使用以下命令
sudo growpart /dev/mmcblk2 1
sudo resize2fs /dev/mmcblk2p1


#如使用V2.x版本,使用以下命令
$ sudo growpart /dev/mmcblk2 2
$ sudo resize2fs /dev/mmcblk2p2

参考:

【1】https://zhuanlan.zhihu.com/p/337167256-
【2】https://www.originbot.org/guide/image_install/#originbot-sd_2

sudo watch -n 3 pkill -USR1 ^dd$

可以用这个监视dd运行过程

有问题欢迎评论

请问当SD卡被固定了,无法插拔,如何进行系统镜像移植,有什么教程吗?

你好,可以参考 x5-hobot-utils/debian/usr/bin/rdk-backup at main · D-Robotics/x5-hobot-utils · GitHub 这个脚本进行备份操作,实测X3正常使用

1 个赞

你好,系统镜像备份之后,有没有别的烧录方法?SD卡需要固定住,无法插拔,不能使用手册中的SD卡烧录的方案

你好。没有别的办法,详细参考手册,X3不支持在板烧录

你好,请问镜像备份好之后,烧录到新的开发板上,新的开发板和原来的 IP地址以及Mac地址都是一样的,想让两块板子能同时跑程序,IP地址修改了,那Mac地址能随意改吗?

你好 请问这个备份后设备ip和mac地址都是重复的 请问这个情况 除了烧录完成后手动修改 还有什么其他的方法吗

您好,可以自由更改的

您好,暂时没有别的办法了,或者可以尝试新建一个修改mac的开机服务?