android OTA升级(VAB分区)

android OTA升级(VAB分区)

 

升级开始前,升级程序update_engine将要升级的slot标记为unsuccessful,调用boot_ctl的SetSlotAsUnbootable()

hardware/interfaces/boot/1.1/default/boot_control/libboot_control.cpp

复制代码
316  bool BootControl::SetSlotAsUnbootable(unsigned int slot) {
317    if (slot >= kMaxNumSlots || slot >= num_slots_) {
318      // Invalid slot number.
319      return false;
320    }
321  
322    bootloader_control bootctrl;
323    if (!LoadBootloaderControl(misc_device_, &bootctrl)) return false;
324  
325    // The only way to mark a slot as unbootable, regardless of the priority is to
326    // set the tries_remaining to 0.
327    bootctrl.slot_info[slot].successful_boot = 0;
328    bootctrl.slot_info[slot].tries_remaining = 0;
329    return UpdateAndSaveBootloaderControl(misc_device_, &bootctrl);
330  }
复制代码

 

posted @   aspirs  阅读(492)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
历史上的今天:
2020-04-23 RSS/PSS/VSZ
点击右上角即可分享
微信分享提示