移植Android recovery升级(1)介绍

      Android OTA升级大家都有接触过,网上也有很多说明文章,我这边把Android OTA升级的架构移植到嵌入式设备上。

对Android OTA说明文章,我感觉比较好的是:https://blog.csdn.net/q1183345443/article/details/78042785

大家可以去看看,把整个OTA升级过程和一些文件说明写的很详细。

 

   Android OTA升级有两种方式,

  1. 一种是recovery系统升级
  2. 一种是A/B互升的无缝升级

  recovery升级是基于linux架构的,使用离不开各个分区

  •  Android中分区:bootload,misc,recovery,ramdisk,system,data,cache等分区
  •  嵌入式linux分区:uboot,kernel,rootfs分区等

    如果要移植升级架构,分区是一个基础

  • uboot misc main_kernel recovery_kernel misc man_rootfs recovery_rootfs cache 等, 这7个分区是必须的,有一些uboot支持吧kernel和rootfs做到一起,就是Android的ramdisk。
  • uboot分区主要判断misc分区的信息,来判断进入到mian_system,recovery_system,也可以直接配置bootcmd和bootages来实现这个
  • kernel_recovery 和rootfs_recovery 可以进行裁剪到最小,
  • cache分区主要放升级包和升级配置文件和升级log

   Android OTA主要分为两个部分,

  1. mkotapackage,也就是升级包制作部分,主要用python写的,其中有使用JAVA进行签名等。
  2. 下位机中运行的程序recovery,recovery程序的源码在Android源码 /bootable/recovery 中,

    他主要做了

  1. 挂载分区
  2. 读取/cache分区和misc分区的配制信息和同步这两个分区的信息,因为recovery有很多功能(OTA升级,分区擦写,恢复出厂设置),判断recovery功能,
  3. 日志保存
  4. 签名校验
  5. 读取升级包中install程序,放入到本地中。
  6. 等待神经结果,并重启回到主系统
  7. UI显示 (我这里没有用)

 

   

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值