叮!您的RK3568系统镜像备份方法请查收
需求背景
在实际开发过程中,系统默认提供的功能和环境通常很难全面满足项目需求。为了实现特定功能或满足项目运行的个性化要求,开发人员往往需要对系统进行深入的定制化处理。这包括安装必要的依赖库、创建项目运行所需的配置文件、优化启动流程等。这些定制化操作不仅需要满足项目的当前需求,还需要保证系统的稳定性和运行效率。
当项目调试完成后,为了能够将已经优化好的系统环境高效地推广到多个设备上,避免手动重复配置的繁琐和可能出现的人为错误,开发人员需要将整个系统的当前状态制作成一个完整的镜像文件。通过导出系统镜像,可以将所有定制内容完整地打包。这种方式不仅大幅减少了后续批量生产中的工作量,还可以确保每台设备都拥有一致的运行环境,降低潜在的部署风险,提升生产效率。
那如何将优化好的系统打包出来呢?
EMMC系统备份
本篇内容适合备份全部的Linux系统镜像,包括Buildroot、Ubuntu和Debian,这里我们选用ubuntu22系统进行EMMC镜像备份演示,首先将“iTOP-RK3568开发板【底板V1.7版本】\02_【iTOP-RK3568开发板】开发资料\10_Linux系统开发配套资料\09_Linux系统备份”路径下的backup.zip拷贝到外置存储设备例如U盘、TF卡、NVME固态硬盘上,这里选用最方便的U盘(建议格式化为NTFS格式,FAT32格式会有4G大小的限制),拷贝完成如下图所示:
然后进入开发板的系统终端,如下图所示:
然后插入外置存储设备,在Ubuntu22文件系统中U盘会自动挂载,可以通过“df -h”命令查看挂载的路径,如下图所示:
注:如果没有自动挂载,可以使用mount命令自行手动挂载
然后进入挂载目录下,可以看到刚刚拷贝的backup.zip压缩包,使用unzip命令进行解压,解压完成如下图所示:
然后进入backu文件夹的script目录下,这里的backup.sh就是备份脚本,如下图所示:
接下来运行backup.sh进行备份,运行之后会选择当前SOC类型,现在要备份的是rk3568 4.19版本的系统,所以这里输入2即可开始备份,备份过程如下所示:
等待备份完成,备份完成如下图所示:
备份完成的镜像会存放在上一级目录的Image目录下,如下图所示:
可以看到分区文件、rkbin镜像、uboot镜像、内核镜像、文件系统镜像都已进行了导出,至此,关于EMMC系统备份就讲解完成了。
打包update.img
在上小节中已经将EMMC中的全部分区镜像进行了导出,而为了方便期间和统一烧写,我们一般都需要将这些镜像文件打包成一个整体的镜update.img,在本小节中将对镜像打包的过程进行讲解。
首先将上一小节U盘Image目录下的全部文件拷贝到对应Linux SDK的rockdev目录下,拷贝完成如下图所示:
然后使用“./build.sh updateimg”命令进行打包,打包过程如下所示:
打包完成之后会在rockdev目录下生成整体镜像update.img。
至此关于打包update.img镜像的步骤就讲解完成了,后续直接使用RK提供的烧写工具进行整体烧写即可。