Fix path conflict for vendor_ramdisk_available
... and ramdisk_available modules. If a module is both
vendor_ramdisk_available and ramdisk_available, on a device
that mark recovery_as_boot and move_recovery_resources_to_vendor_boot
simultaneously (and incorrectly),
both will be installed to recovery/root/first_stage_ramdisk. Fix the
path conflict of the two variants by moving the vendor_ramdisk variant
to vendor-ramdisk/first_stage_ramdisk instead.
Also update comments for Vendor_ramdisk_available.
Test: m nothing -j
Bug: 156098440
Change-Id: I2b776b6fd8f5a2c361c0f6a89231e3cebc2646f0
diff --git a/android/paths.go b/android/paths.go
index 4eb9d20..c0d6a69 100644
--- a/android/paths.go
+++ b/android/paths.go
@@ -1378,8 +1378,12 @@
partition += "/system"
}
} else if ctx.InstallInVendorRamdisk() {
+ // The module is only available after switching root into
+ // /first_stage_ramdisk. To expose the module before switching root
+ // on a device without a dedicated recovery partition, install the
+ // recovery variant.
if ctx.DeviceConfig().BoardMoveRecoveryResourcesToVendorBoot() {
- partition = "recovery/root/first_stage_ramdisk"
+ partition = "vendor-ramdisk/first_stage_ramdisk"
} else {
partition = "vendor-ramdisk"
}