init: support early_mount with vboot 2.0 (external/avb/libavb)
libavb requires verifying AVB metadata on all verified partitions at once. For example, /vbmeta, /boot, /system and /vendor. We need to invoke device_init() for those partitions even if we only want to early mount some of them, like /vendor and /system. This CL gets all AVB partitions and the early mount partitions from device tree through "firmware/android/vbmeta" and "firmware/fstab", respectively. The following is an example to early mount /vendor partition on bullhead: firmware { android { compatible = "android,firmware"; vbmeta { compatible = "android,vbmeta"; parts = "boot,system,vendor"; by_name_prefix="/dev/block/platform/soc.0/f9824900.sdhci/by-name" }; fstab { compatible = "android,fstab"; vendor { compatible = "android,vendor"; dev = "/dev/block/platform/soc.0/f9824900.sdhci/by-name/vendor"; type = "ext4"; mnt_flags = "ro,barrier=1,inode_readahead_blks=8"; fsmgr_flags = "wait,avb"; }; }; }; }; Bug: 33254008 Test: early mount /vendor with vboot 2.0 (AVB) on bullhead Test: early mount /system without dm-verity on bullhead Test: early mount /vendor with vboot 1.0 on sailfish Change-Id: I89a1f77c97124f309346b33d9e700544b92ecf05
Loading
Please register or sign in to comment