备份与量产说明

对于量产与备份,本章节 很重要 很重要 很重要

野火LubanCat-RK系列板卡目前仅支持SD卡和eMMC两种启动方式,所以在量产过程中, 主要就是根据产品来选择合适的系统镜像下载方式。

对于系统镜像存储介质,我们更推荐使用eMMC,eMMC具有更快的读写速度和更高的稳定系, 而SD卡会有兼容性较差的问题,使用部分品牌部分系列的SD卡会导致系统无法启动或运行异常。 另外,安卓系统镜像无法运行在SD卡上。

除了镜像下载需要特别说明之外,部分用户还有修改根文件系统,自定义系统服务等需求, 导致本部分内容会过于杂乱。我们列举出了一些常用技术路线,用户可以根据自己的情况按图索骥。

../../_images/image01.png

镜像下载

野火LubanCat-RK系列板卡目前仅支持SD卡和eMMC两种启动方式,下面对于两种启动介质的烧录我们分别做说明。

SD卡

将野火提供的LubanCat镜像烧写到SD卡目前只有一种烧录方式, 就是借助瑞芯微官方烧录工具SDDiskTool,仅提供Windows版本。

SD卡烧录不支持分区烧录,只能烧录完整的SDK生成的update.img镜像

实际使用过程中,在Win10系统上用SDDiskTool重复烧录镜像到SD卡时,由于已经烧录过的SD卡存在较多的分区, 会导致电脑蓝屏,暂无解决办法。如果必须使用此工具,则应在烧录前保存好其他软件内容。

SD卡烧录的相关内容请查看以下章节:

eMMC

将野火提供的LubanCat镜像烧写到eMMC可以通过两种方式,分别是使用SD升级卡烧录镜像到eMMC和使用USB烧录工具烧录镜像。

SD升级卡的制作也需要使用SDDiskTool工具,不支持分区烧录,只能烧录完整的SDK生成的update.img镜像。 其原理是向SD卡内烧录完整的启动镜像,然后再保留一份update.img到SD卡内,系统从SD卡内启动,然后将update.img镜像烧录到eMMC中。

使用USB烧录工具烧录镜像到eMMC也分为两种方式,一个是使用瑞芯微开发工具RKDevTool(Windows版)或Linux_Upgrade_Tool(Linux版),另一个是使用瑞芯微USB量产烧录工具FactoryTool(仅Windows)

RKDevTool和Linux_Upgrade_Tool的功能类似,都支持分区烧录和完整update.img镜像烧录,这两个工具主要用于开发过程中的镜像烧录, 不仅拥有烧录功能,还有其他的高级功能,但是一次只能连接一块板卡进行操作。

FactoryTool量产工具主要用于工厂生产使用,只支持update.img镜像,可以同时进行多块板卡的烧录,操作简单。

综合分析以上烧录方式,FactoryTool量产工具适合工厂大批量烧录,RKDevTool和Linux_Upgrade_Tool适合开发时使用或小批量烧录使用。SD卡烧录方式不推荐。

eMMC烧录的相关内容及软件使用说明请查看以下章节:

完整镜像拆包合并

通过对上面烧录过程的了解,我们会发现,在生产过程中我们主要使用完整镜像update.img,而我们发布的也是xxx_update.img的完整镜像。 对于要进行二次开发的用户来说,主要的修改内容就是根文件系统这一部分,我们在备份时也是备份根文件系统。

所以一个个单独的分区镜像如何变成完整镜像update.img,这就涉及到了完整镜像的打包和拆包, 具体内容查看以下章节:

备份与还原

部分用户想要快速添加自己的功能进行二次开发,而对镜像的构建和编译步骤又不是很熟悉。 此时就可以在野火LubanCat镜像的基础上直接进行修改,使用修改后的镜像二次分发, 就涉及到了对板卡镜像的备份和再次烧录。

根据修改的内容和操作的难易程度,可以选择以下几种方法:

完整备份SD卡或eMMC全部内容并烧录

可以选择直接将整个SD卡和eMMC进行备份,此方法的备份过程是最简单的, 但是备份得到的RAW格式镜像无法通过瑞芯微量产工具进行烧录。 如果是使用SD卡启动或者验证阶段和小批量生产阶段的eMMC烧录可以选择这种方式。

备份根文件系统分区

如果我们的修改内容较少,也可以选择只备份根文件系统分区或其他单独分区,得到单的的分区镜像。 此时我们可以选择使用瑞芯微开发工具镜像分区烧录,也可以将分区镜像打包成一个完整镜像, 后续的烧录过程就与野火提供的LubanCat镜像烧写过程一致了。

不过这种方式的局限性是,如果备份多个分区,每个分区都要单独备份成一个分区镜像,加上镜像的拆包和打包,整个过程就会非常冗杂。

在PC修改rootfs.img镜像

如果我们只修改根文件系统的少量内容,则可以直接将rootfs.img挂载到Linux PC上进行修改。 这种方法只适合熟悉根文件系统的开发者使用,如果修改不当可能造成系统无法启动或工作异常。

如果开发者对chroot工具的使用也很熟悉,甚至可以直接借助主机网络安装软件包,修改系统服务等。

添加系统服务

在用户使用LubanCat板卡的时候,需要添加或修改一些的系统服务进去,根据添加的时机,可以分为以下两种方式。

添加或修改系统服务到板卡

镜像已经烧录到板卡,需要在启动的板卡上添加或修改系统服务,根据自己的需求即用即改。

添加或修改系统服务到构建脚本

系统镜像还未生成,要在构建根文件系统的时候将相应的系统服务添加并设置相应的参数, 这样做可以保证我们的修改是确定的,可复现的。