1. 备份与量产说明¶
对于量产与备份,本章节 很重要 很重要 很重要 。
野火LubanCat-RK系列板卡目前仅支持SD卡和eMMC两种启动方式,所以在量产过程中, 主要就是根据产品来选择合适的系统镜像下载方式。
对于系统镜像存储介质,我们更推荐使用eMMC,eMMC具有更快的读写速度和更高的稳定系, 而SD卡会有兼容性较差的问题,使用部分品牌部分系列的SD卡会导致系统无法启动或运行异常。 另外,安卓系统镜像无法运行在SD卡上。
除了镜像下载需要特别说明之外,部分用户还有修改根文件系统,自定义系统服务等需求, 导致本部分内容会过于杂乱。我们列举出了一些常用技术路线,用户可以根据自己的情况按图索骥。
1.1. 镜像下载¶
野火LubanCat-RK系列板卡目前仅支持SD卡和eMMC两种启动方式,下面对于两种启动介质的烧录我们分别做说明。
1.1.1. SD卡¶
将野火提供的LubanCat镜像烧写到SD卡目前只有一种烧录方式, 就是借助瑞芯微官方烧录工具SDDiskTool,仅提供Windows版本。
SD卡烧录不支持分区烧录,只能烧录完整的SDK生成的update.img镜像
实际使用过程中,在Win10系统上用SDDiskTool重复烧录镜像到SD卡时,由于已经烧录过的SD卡存在较多的分区, 会导致电脑蓝屏,暂无解决办法。如果必须使用此工具,则应在烧录前保存好其他软件内容。
SD卡烧录的相关内容请查看以下章节:
1.1.2. 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烧录的相关内容及软件使用说明请查看以下章节:
1.2. 完整镜像拆包合并¶
通过对上面烧录过程的了解,我们会发现,在生产过程中我们主要使用完整镜像update.img,而我们发布的也是xxx_update.img的完整镜像。 对于要进行二次开发的用户来说,主要的修改内容就是根文件系统这一部分,我们在备份时也是备份根文件系统。
所以一个个单独的分区镜像如何变成完整镜像update.img,这就涉及到了完整镜像的打包和拆包, 具体内容查看以下章节:
1.3. 备份与还原¶
部分用户想要快速添加自己的功能进行二次开发,而对镜像的构建和编译步骤又不是很熟悉。 此时就可以在野火LubanCat镜像的基础上直接进行修改,使用修改后的镜像二次分发, 就涉及到了对板卡镜像的备份和再次烧录。
根据修改的内容和操作的难易程度,可以选择以下几种方法:
1.3.1. 完整备份SD卡或eMMC全部内容并烧录¶
可以选择直接将整个SD卡和eMMC进行备份,此方法的备份过程是最简单的, 但是备份得到的RAW格式镜像无法通过瑞芯微量产工具进行烧录。 如果是使用SD卡启动或者验证阶段和小批量生产阶段的eMMC烧录可以选择这种方式。
1.3.2. 备份根文件系统分区¶
如果我们的修改内容较少,也可以选择只备份根文件系统分区或其他单独分区,得到单的的分区镜像。 此时我们可以选择使用瑞芯微开发工具镜像分区烧录,也可以将分区镜像打包成一个完整镜像, 后续的烧录过程就与野火提供的LubanCat镜像烧写过程一致了。
不过这种方式的局限性是,如果备份多个分区,每个分区都要单独备份成一个分区镜像,加上镜像的拆包和打包,整个过程就会非常冗杂。
1.3.3. 在PC修改rootfs.img镜像¶
如果我们只修改根文件系统的少量内容,则可以直接将rootfs.img挂载到Linux PC上进行修改。 这种方法只适合熟悉根文件系统的开发者使用,如果修改不当可能造成系统无法启动或工作异常。
如果开发者对chroot工具的使用也很熟悉,甚至可以直接借助主机网络安装软件包,修改系统服务等。