summaryrefslogtreecommitdiff
path: root/fsgen/filesystem_creator.go
diff options
context:
space:
mode:
author Spandan Das <spandandas@google.com> 2024-11-01 22:34:36 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2024-11-01 22:34:36 +0000
commit9fe7eaff1090bcfc0af2b94e92de0cdeeea61b10 (patch)
treec2ea15956df2b61b96d376c35f9d38485d748864 /fsgen/filesystem_creator.go
parentc1a82d9ea0963c3bc41753994c1c336748f975b5 (diff)
parent9f06a4fca3b9d5dbf8c68692e3701a8e1aeb6d29 (diff)
Merge "Autogenerate a soong module to build odm.img" into main am: 7e0fdef242 am: 9f06a4fca3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3328349 Change-Id: I008df4f6e1fb4742c2301b020fa6e3a80f6343fb Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'fsgen/filesystem_creator.go')
-rw-r--r--fsgen/filesystem_creator.go24
1 files changed, 22 insertions, 2 deletions
diff --git a/fsgen/filesystem_creator.go b/fsgen/filesystem_creator.go
index 05002d373..001cac85d 100644
--- a/fsgen/filesystem_creator.go
+++ b/fsgen/filesystem_creator.go
@@ -116,6 +116,9 @@ func createFsGenState(ctx android.LoadHookContext) *FsGenState {
if ctx.DeviceConfig().BuildingProductImage() && ctx.DeviceConfig().ProductPath() == "product" {
generatedPartitions = append(generatedPartitions, "product")
}
+ if ctx.DeviceConfig().BuildingOdmImage() && ctx.DeviceConfig().OdmPath() == "odm" {
+ generatedPartitions = append(generatedPartitions, "odm")
+ }
return &FsGenState{
depCandidates: candidates,
@@ -144,7 +147,12 @@ func createFsGenState(ctx android.LoadHookContext) *FsGenState {
"fs_config_dirs_vendor": defaultDepCandidateProps(ctx.Config()),
generatedModuleName(ctx.Config(), "vendor-build.prop"): defaultDepCandidateProps(ctx.Config()),
},
- "odm": newMultilibDeps(),
+ "odm": &map[string]*depCandidateProps{
+ // fs_config_* files are automatically installed for all products with odm partitions.
+ // https://cs.android.com/android/_/android/platform/build/+/e4849e87ab660b59a6501b3928693db065ee873b:tools/fs_config/Android.mk;l=34;drc=8d6481b92c4b4e9b9f31a61545b6862090fcc14b;bpv=1;bpt=0
+ "fs_config_files_odm": defaultDepCandidateProps(ctx.Config()),
+ "fs_config_dirs_odm": defaultDepCandidateProps(ctx.Config()),
+ },
"product": newMultilibDeps(),
"system_ext": &map[string]*depCandidateProps{
// VNDK apexes are automatically included.
@@ -423,6 +431,9 @@ func (f *filesystemCreator) createDeviceModule(ctx android.LoadHookContext) {
if android.InList("product", f.properties.Generated_partition_types) {
partitionProps.Product_partition_name = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "product"))
}
+ if android.InList("odm", f.properties.Generated_partition_types) {
+ partitionProps.Odm_partition_name = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "odm"))
+ }
ctx.CreateModule(filesystem.AndroidDeviceFactory, baseProps, partitionProps)
}
@@ -466,6 +477,15 @@ func partitionSpecificFsProps(fsProps *filesystem.FilesystemProperties, partitio
},
}
fsProps.Base_dir = proptools.StringPtr("vendor")
+ case "odm":
+ fsProps.Symlinks = []filesystem.SymlinkDefinition{
+ filesystem.SymlinkDefinition{
+ Target: proptools.StringPtr("/odm_dlkm/lib/modules"),
+ Name: proptools.StringPtr("odm/lib/modules"),
+ },
+ }
+ fsProps.Base_dir = proptools.StringPtr("odm")
+
}
}
@@ -708,7 +728,7 @@ func generateBpContent(ctx android.EarlyModuleContext, partitionType string) str
if !fsTypeSupported {
return ""
}
- if partitionType == "vendor" {
+ if partitionType == "vendor" || partitionType == "odm" {
return "" // TODO: Handle struct props
}