一、简介
OTA(Over-the-Air) 即空间下载技术,通过无线下载的都能称之为OTA,当然也可以使用U盘等本地升级,本章主要使用RockChip平台的来讲解。
现在OTA主要有两种方式–recovery和A/B。
recovery系统方案是,系统分区只有一份,但会多出来一个recovery分区用于升级操作,由**kernel+resource+ramdisk **组成,但在升级时需要重启进入recovery分区去执行升级操作。
A/B系统是在设备上存在于两个相同的分区,设备会只在其中一个slot(分区)上启动,如果当前slot分区启动失败累积到一定的次数则会去启动另一个分区。在升级时不需要重启,升级完成后再重启进入到升级后的分区中去。
二、A/B分区
Linux A/B 由于有两个引导 slot,所以具有以下优点:
- 升级无需重启进入升级模式,即机器可以在当前系统上直接进行升级。
- 防止由于升级失败导致机器变砖,如果升级失败,机器可以回到当前版本。
- 当前系统如果由于一些误操作被破坏掉,系统会自动切换到另外一个 slot 上。
缺点:
Linux A/B 有两个 slot,所以会增加 flash 上系统固件的占用率。
2.1 引导流程
A/B系统的引导方式方式是通过获取misc分区的参数来完成的。在recovery模式下,烧写过 misc.img
、recovery.img