跳到主要内容

系统备份

1. TF卡 系统备份

1.1 全卡备份

使用Win32DiskImager对整个TF卡进行备份操作简单、方便, 但是全卡备份出来的镜像文件和TF卡的容量一致,在还原的时候必须使用比镜像更大容量的TF卡。

  1. 在磁盘空间充足的盘符下新建一个空的luckfox.img文件,将带有镜像的TF卡通过读卡器连接电脑。

  2. 打开Win32DiskImager点击文件夹图标①,选择刚刚创建的luckfox.img文件,确认TF卡的盘符②。(为了防止与其它设备混淆,请移除TF卡以外的存储设备)

  3. 点击读取③,等待进度条完成。(读取出来的镜像可以直接使用Win32DiskImager写入新的TF卡)

1.2 压缩备份

压缩备份的原理:在Linux主机或者虚拟机中使用Gparted磁盘管理工具裁剪分区,这样备份出来的镜像体积小,方便重新烧录。

  1. 下载磁盘管理工具:

    sudo apt-get install gparted 
  2. 下载完成可以从System Tools->Gparted,打开要输入登录密码。

  3. 对于 Libparted Warning 选择 ignore。

  4. 打开 Gparted 磁盘管理工具,将磁盘切换到 TF卡。

  5. 选中要缩小的userdata分区,点击左上角的Resize(左面绿色剪头),userdata 分区最小的空间是 176MiB,我们调整到 182MiB。

  6. 调整完成后点击Apply(右面绿色按钮)应用修改。


  7. 计算要备份镜像的大小(4+4+64+64+32+6x1024+128+182)MiB≈6622MiB,我们可以将镜像大小设置为6650MiB。

  8. 将镜像备份到硬盘中,使用命令查看硬盘是否自动挂载。

    linaro@linaro-alip:~$ lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sda 8:0 1 14.9G 0 disk
    ├─sda1 8:1 1 4M 0 part
    ├─sda2 8:2 1 4M 0 part
    ├─sda3 8:3 1 64M 0 part
    ├─sda4 8:4 1 64M 0 part
    ├─sda5 8:5 1 32M 0 part /media/linaro/L4T-README
    ├─sda6 8:6 1 6G 0 part /media/linaro/9abb78c6-ffcf-44fb-bbe9-35cd2d87a0d5
    ├─sda7 8:7 1 128M 0 part
    └─sda8 8:8 1 182M 0 part
    sdb 8:16 0 119.2G 0 disk
    └─sdb1 8:17 0 119.2G 0 part
    mmcblk0 179:0 0 29.1G 0 disk
    ├─mmcblk0p1 179:1 0 4M 0 part
    ├─mmcblk0p2 179:2 0 4M 0 part
    ├─mmcblk0p3 179:3 0 64M 0 part
    ├─mmcblk0p4 179:4 0 64M 0 part
    ├─mmcblk0p5 179:5 0 32M 0 part
    ├─mmcblk0p6 179:6 0 6G 0 part /
    ├─mmcblk0p7 179:7 0 128M 0 part /oem
    └─mmcblk0p8 179:8 0 430M 0 part /userdata
    mmcblk0boot0 179:32 0 4M 1 disk
    mmcblk0boot1 179:64 0 4M 1 disk
  9. 手动挂载硬盘,备份镜像。

    sudo su 
    #创建目录挂载U盘
    mkdir -p /media/usb

    #挂载硬盘
    mount /dev/sdb1 /media/usb/

    cd /media/usb/
    dd if=/dev/sda of=./luckfoxtf.img count=6650 bs=1024k conv=sync
  10. 查看镜像备份进度,另外打开一个终端输入如下命令:

    watch -n 1 du -sh /media/usb/luckfoxtf.img

    #每隔一秒刷新镜像大小Ctrl+C退出
    Every 1.0s: du -sh /media/usb/luckfox.img linaro-alip: Fri Aug 5 12:28:05 2023

    2.1G /media/usb/luckfoxtf.img
  11. 备份完成卸载硬盘。

    root@linaro-alip:/media/usb# dd if=/dev/sda of=./luckfoxtf.img count=6650 bs=1024k conv=sync
    6650+0 records in
    6650+0 records out
    6973030400 bytes (7.0 GB, 6.5 GiB) copied, 486.854 s, 14.3 MB/s
    root@linaro-alip:/media/usb# cd /home/linaro
    root@linaro-alip:/home/linaro# umount /media/usb/

1.3 TF卡镜像烧录

不管是全卡备份还是压缩备份,写入镜像需使用Win32DiskImager。

  1. 将带有镜像的TF卡通过读卡器连接电脑,打开Win32DiskImager点击文件夹图标①。

  2. 选择刚刚备份的luckfoxtf.img文件,确认TF卡的盘符②。(为了防止与其它设备混淆,请移除TF卡以外的存储设备)

  3. 点击写入③,等待进度条完成。

2. eMMC 系统备份

备份eMMC中的系统镜像,需要借助Linux环境,而eMMC在板卡上不可拆卸。Core356优先从TF卡启动系统,所以使用TF卡启动启动系统,就能为eMMC备份提供Linux环境了。

2.1 准备工作

  1. 将TF卡烧录镜像,将TF卡插入扩展板USB接口,直接上电系统是优先TF卡启动。

  2. 将U盘或者硬盘插入扩展板USB接口。

  3. 开机成功后,使用指令查看:

    linaro@linaro-alip:~$ lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sda 8:0 0 119.2G 0 disk
    └─sda1 8:1 0 119.2G 0 part /media/linaro/24FC743CFC7409F6
    mmcblk1 179:0 0 14.9G 0 disk
    ├─mmcblk1p1 179:1 0 4M 0 part
    ├─mmcblk1p2 179:2 0 4M 0 part
    ├─mmcblk1p3 179:3 0 64M 0 part
    ├─mmcblk1p4 179:4 0 64M 0 part
    ├─mmcblk1p5 179:5 0 32M 0 part /media/linaro/L4T-README
    ├─mmcblk1p6 179:6 0 6G 0 part /
    ├─mmcblk1p7 179:7 0 128M 0 part /oem
    └─mmcblk1p8 179:8 0 8.6G 0 part /userdata
    mmcblk0 179:32 0 29.1G 0 disk
    ├─mmcblk0p1 179:33 0 4M 0 part
    ├─mmcblk0p2 179:34 0 4M 0 part
    ├─mmcblk0p3 179:35 0 64M 0 part
    ├─mmcblk0p4 179:36 0 64M 0 part
    ├─mmcblk0p5 179:37 0 32M 0 part
    ├─mmcblk0p6 179:38 0 6G 0 part /media/linaro/9abb78c6-ffcf-44fb-bbe9-35cd2d87a0d5
    ├─mmcblk0p7 179:39 0 128M 0 part
    └─mmcblk0p8 179:40 0 22.8G 0 part
    mmcblk0boot0 179:64 0 4M 1 disk
    mmcblk0boot1 179:96 0 4M 1 disk
    • 其中 sda 是一个硬盘,mmcblk0 是板载 eMMC,mmcblk1 是TF卡。

2. 2 使用Gparted磁盘管理工具裁剪分区

  1. 下载磁盘管理工具:

    sudo apt-get install gparted 
  2. 下载完成可以从System Tools->Gparted,打开要输入登录密码。

  3. 对于 Libparted Warning 选择 ignore。

  4. 打开 Gparted 磁盘管理工具,将磁盘切换到 eMMC。

  5. 选中要缩小的userdata分区,点击左上角的Resize(左面绿色剪头)。

  6. userdata 分区最小的空间是 411MiB,我们调整到 430MiB。

  7. 调整完成后点击Apply(右面绿色按钮)应用修改。

  8. 计算要备份镜像的大小(4+4+64+64+32+6x1024+128+430)MiB≈6870MiB,我们可以将镜像大小设置为6900MiB。

2.3 使用dd命令压缩备份

  1. 我们的硬盘默认挂载到了/media/linaro/24FC743CFC7409F6目录下,如果没挂载需要自己手动挂载。

  2. 手动挂载U盘。

    sudo su 
    #创建目录挂载U盘
    mkdir -p /media/usb

    #挂载U盘
    mount /dev/sda1 /media/usb/
  3. 将镜像备份到挂载U盘中,使用 dd 命令备份。

    dd if=/dev/mmcblk0 of=/media/usb/luckfox.img count=6900 bs=1024k conv=sync

    #拷贝需要时间,请耐心等待,打印消息如下
    3350+0 records in
    3350+0 records out
    3512729600 bytes (3.5 GB, 3.3 GiB) copied, 198.883 s, 17.7 MB/s
  4. 查看镜像备份进度,另外打开一个终端输入如下命令:

    watch -n 1 du -sh /media/usb/luckfox.img

    #每隔一秒刷新镜像大小Ctrl+C退出
    Every 1.0s: du -sh /media/usb/luckfox.img linaro-alip: Fri Aug 4 12:28:05 2023

    1.1G /media/usb/luckfox.img
  5. 备份完成后,卸载U盘。

    umount /media/usb/

2.4 使用 RKDevTool_Release 烧录镜像

  1. 打开瑞芯微刷机工具RKDevTool,双击第二行“Parameter”,将名字改为“image”。

  2. 勾选第一行“Loader”和第二行“image”。

  3. 在①处选择放置Core3566核心板固件位置(戳我下载)。在②处选择备份镜像的路径。

  4. 点击“run”,就可以看到右边写入内容了, 显示“Download image OK”就写入成功了。

2.5 修改 MAC地址

如果备份出来的镜像会出现和原来设备MAC地址冲突问题,此时可以按照下述方法修改MAC地址。

注意:需使用串口登录Core3566,关闭网络接口会断开SSH连接。

  1. 安装macchanger工具。

    sudo apt update
    sudo apt install macchanger
  2. 要修改MAC地址,这里我们使用的是eth0,我们需要先关闭网络网络接口。可以使用ifconfig命令来完成。

    sudo ifconfig eth0 down
  3. 使用带-r参数的macchanger将MAC地址更改为随机地址。

    sudo macchanger -r eth0
  4. 修改完MAC地址后,执行一下命令打开网络接口。

    sudo ifconfig eth0 up
  5. 使用以下命令检查当前的MAC地址。

    root@linaro-alip:/home/linaro# macchanger -s eth0
    Current MAC: ee:27:fc:f1:80:9f (unknown)
    Permanent MAC: 2e:f2:bb:3a:fa:b3 (unknown)