Android P上打开AVB2.0的配置方法

AVB2.0 是google 设计的 verified boot 流程用于保护boot,recovery/system/vendor partion的完整性。每一个partion可以设置为hash或者是chain partion方式

   更多AVB2.0的资讯,您可以参考google spec
https://android.googlesource.com/platform/external/avb/+/master/README.md
   如果你的平台使用的kernel版本大于等于4.9,并且是Android P版本,AVB2.0是必须要开启的
   MTK默认的配置为:recovery,systemchain partion,其余为hash。您也可以根据需要修改

   P版本开启AVB2.0的方法

     /vendor/mediatek/proprietary/bootable/bootloader/lk/target/${project}/inc/avbkey.h配置与下方oem_prvk.pem对应的public key(这个路径的key是用于校验vbmeta中的public key合法性)

     alps/device/mediatek/common/device.mk

BOARD_AVB_ENABLE:=True

BOARD_AVB_ALGORITHM := SHA256_RSA2048

BOARD_AVB_KEY_PATH := device/mediatek/common/oem_prvk.pem

     alps/vendor/mediate/proprietary/bootable/bootloader/lk/platform/${PLATFORM}/rules.mk

MTK_AVB20_SUPPORT=yes/no

     alps/kernel-4.9/drivers/misc/mediatek/masp/Kconfig

MTK_AVB20_SUPPORT default y

     Recovery/system 设置为chain partition的配置(如果不增加这些设置,默认为hash partition)

/device/mediatek/common/device.mk

   注意,dtbo不使用AVB2.0保护。build出来的dtbo是avb2.0签名方式,会在调用mtk签名脚本时将dtbo改为mtk签名方式。
         除boot/recovery/system/vendor外其他的image(preloader,lk,logo,modem,tee等)仍然是使用mtk的verify flow

作者: RESSRC

个人资源站

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据