天天看點

Android OTA基本知識

1 ramdisk的加載選擇

如果指令行中包含skip_initramfs,那麼加載system.img的ramdisk而不是boot.img的recovery ramdisk

BoardConfig.mk

BOARD_KERNEL_CMDLINE := ... skip_initramfs ...

Android 8.0之後沒有獨立的recovery.img,boot.img根據cmdline參數來決定mount哪個ramdisk。

如果有skip_initramfs參數,那麼mount打包在system.img中的normal ramdisk(CONFIG_BLK_DEV_INITRD);否則mount打包在boot.img中的recovery ramdisk。

參數BOARD_BUILD_SYSTEM_ROOT_IMAGE的配置決定是将normal ramdisk打包到boot.img中還是打包到system.img中。

打包到boot.img中:

BOARD_BUILD_SYSTEM_ROOT_IMAGE := false

打包到system.img(system-as-root)中:

BOARD_BUILD_SYSTEM_ROOT_IMAGE := true

2 URLs

Android A/B System OTA分析(四)系統的啟動和更新

https://blog.csdn.net/guyongqiangx/article/details/72604355?locationNum=6&fps=1

3 Abbreviations

GA: MTK General Availability,軟體的通用版本

VPD:MTK Vital Product Data,vpd分區,儲存MAC位址和序列号等

繼續閱讀