diff --git a/android/paths.go b/android/paths.go index a056ad4bc..2fb5f25af 100644 --- a/android/paths.go +++ b/android/paths.go @@ -1402,8 +1402,12 @@ func modulePartition(ctx ModuleInstallPathContext, os OsType) string { 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" } diff --git a/cc/cc.go b/cc/cc.go index c1a432743..c93bdebb5 100644 --- a/cc/cc.go +++ b/cc/cc.go @@ -255,10 +255,18 @@ type BaseProperties struct { // file Logtags []string - // Make this module available when building for ramdisk + // Make this module available when building for ramdisk. + // On device without a dedicated recovery partition, the module is only + // available after switching root into + // /first_stage_ramdisk. To expose the module before switching root, install + // the recovery variant instead. Ramdisk_available *bool - // Make this module available when building for vendor ramdisk + // Make this module available when building for vendor ramdisk. + // On device without a dedicated recovery partition, the module is only + // available after switching root into + // /first_stage_ramdisk. To expose the module before switching root, install + // the recovery variant instead. Vendor_ramdisk_available *bool // Make this module available when building for recovery diff --git a/etc/prebuilt_etc.go b/etc/prebuilt_etc.go index 337ad88f2..44b814954 100644 --- a/etc/prebuilt_etc.go +++ b/etc/prebuilt_etc.go @@ -59,9 +59,17 @@ type prebuiltEtcProperties struct { Filename_from_src *bool `android:"arch_variant"` // Make this module available when building for ramdisk. + // On device without a dedicated recovery partition, the module is only + // available after switching root into + // /first_stage_ramdisk. To expose the module before switching root, install + // the recovery variant instead. Ramdisk_available *bool // Make this module available when building for vendor ramdisk. + // On device without a dedicated recovery partition, the module is only + // available after switching root into + // /first_stage_ramdisk. To expose the module before switching root, install + // the recovery variant instead. Vendor_ramdisk_available *bool // Make this module available when building for recovery. diff --git a/sh/sh_binary.go b/sh/sh_binary.go index 6f40ae489..7e5c3440a 100644 --- a/sh/sh_binary.go +++ b/sh/sh_binary.go @@ -66,9 +66,17 @@ type shBinaryProperties struct { Symlinks []string `android:"arch_variant"` // Make this module available when building for ramdisk. + // On device without a dedicated recovery partition, the module is only + // available after switching root into + // /first_stage_ramdisk. To expose the module before switching root, install + // the recovery variant instead. Ramdisk_available *bool // Make this module available when building for vendor ramdisk. + // On device without a dedicated recovery partition, the module is only + // available after switching root into + // /first_stage_ramdisk. To expose the module before switching root, install + // the recovery variant instead. Vendor_ramdisk_available *bool // Make this module available when building for recovery.