summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--android/variable.go1
-rw-r--r--filesystem/android_device.go10
-rw-r--r--fsgen/filesystem_creator.go7
3 files changed, 12 insertions, 6 deletions
diff --git a/android/variable.go b/android/variable.go
index aace6ed05..4e1df3cc2 100644
--- a/android/variable.go
+++ b/android/variable.go
@@ -666,6 +666,7 @@ type PartitionVariables struct {
AbOtaUpdater bool `json:",omitempty"`
AbOtaPartitions []string `json:",omitempty"`
AbOtaKeys []string `json:",omitempty"`
+ AbOtaPostInstallConfig []string `json:",omitempty"`
// Avb (android verified boot) stuff
BoardAvbEnable bool `json:",omitempty"`
diff --git a/filesystem/android_device.go b/filesystem/android_device.go
index eb967ad06..62c86580a 100644
--- a/filesystem/android_device.go
+++ b/filesystem/android_device.go
@@ -70,9 +70,10 @@ type DeviceProperties struct {
// blueprint:"mutated" and still set it from filesystem_creator
Main_device *bool
- Ab_ota_updater *bool
- Ab_ota_partitions []string
- Ab_ota_keys []string
+ Ab_ota_updater *bool
+ Ab_ota_partitions []string
+ Ab_ota_keys []string
+ Ab_ota_postinstall_config []string
}
type androidDevice struct {
@@ -454,6 +455,9 @@ func (a *androidDevice) copyMetadataToTargetZip(ctx android.ModuleContext, build
abOtaKeysSorted := android.SortedUniqueStrings(a.deviceProps.Ab_ota_keys)
abOtaKeysSortedString := proptools.ShellEscape(strings.Join(abOtaKeysSorted, "\\n"))
builder.Command().Textf("echo -e").Flag(abOtaKeysSortedString).Textf(" > %s/META/otakeys.txt", targetFilesDir.String())
+ // postinstall_config.txt
+ abOtaPostInstallConfigString := proptools.ShellEscape(strings.Join(a.deviceProps.Ab_ota_postinstall_config, "\\n"))
+ builder.Command().Textf("echo -e").Flag(abOtaPostInstallConfigString).Textf(" > %s/META/postinstall_config.txt", targetFilesDir.String())
// selinuxfc
if a.getFsInfos(ctx)["system"].SelinuxFc != nil {
builder.Command().Textf("cp").Input(a.getFsInfos(ctx)["system"].SelinuxFc).Textf(" %s/META/file_contexts.bin", targetFilesDir.String())
diff --git a/fsgen/filesystem_creator.go b/fsgen/filesystem_creator.go
index 9217e1c33..e9626a272 100644
--- a/fsgen/filesystem_creator.go
+++ b/fsgen/filesystem_creator.go
@@ -381,9 +381,10 @@ func (f *filesystemCreator) createDeviceModule(
partitionProps.Vbmeta_partitions = vbmetaPartitions
deviceProps := &filesystem.DeviceProperties{
- Main_device: proptools.BoolPtr(true),
- Ab_ota_updater: proptools.BoolPtr(ctx.Config().ProductVariables().PartitionVarsForSoongMigrationOnlyDoNotUse.AbOtaUpdater),
- Ab_ota_partitions: ctx.Config().ProductVariables().PartitionVarsForSoongMigrationOnlyDoNotUse.AbOtaPartitions,
+ Main_device: proptools.BoolPtr(true),
+ Ab_ota_updater: proptools.BoolPtr(ctx.Config().ProductVariables().PartitionVarsForSoongMigrationOnlyDoNotUse.AbOtaUpdater),
+ Ab_ota_partitions: ctx.Config().ProductVariables().PartitionVarsForSoongMigrationOnlyDoNotUse.AbOtaPartitions,
+ Ab_ota_postinstall_config: ctx.Config().ProductVariables().PartitionVarsForSoongMigrationOnlyDoNotUse.AbOtaPostInstallConfig,
}
if bootloader, ok := f.createBootloaderFilegroup(ctx); ok {
deviceProps.Bootloader = proptools.StringPtr(":" + bootloader)