From 9afc298e4f89ca4e33497dc040b7d417a9174ba9 Mon Sep 17 00:00:00 2001 From: mrziwang Date: Tue, 5 Nov 2024 14:29:48 -0800 Subject: Handle several symlinks in system image generation The symlinks below are added in fsProps: system/product to /product system/system_ext to /system_ext system/vendor to /vendor system/lib/modules to /system_dlkm/lib/modules Test: CI and soong_generated_system_filesystem_test Bug: 376490670 Change-Id: Ia1594e27593fce2e34e9601bc0516892fc33a3f7 --- fsgen/filesystem_creator.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'fsgen/filesystem_creator.go') diff --git a/fsgen/filesystem_creator.go b/fsgen/filesystem_creator.go index bdffabf41..528263638 100644 --- a/fsgen/filesystem_creator.go +++ b/fsgen/filesystem_creator.go @@ -136,6 +136,26 @@ func partitionSpecificFsProps(fsProps *filesystem.FilesystemProperties, partitio "framework/oat/*/*", // framework/oat/{arch} } fsProps.Fsverity.Libs = []string{":framework-res{.export-package.apk}"} + // TODO(b/377734331): only generate the symlinks if the relevant partitions exist + fsProps.Symlinks = []filesystem.SymlinkDefinition{ + filesystem.SymlinkDefinition{ + Target: proptools.StringPtr("/product"), + Name: proptools.StringPtr("system/product"), + }, + filesystem.SymlinkDefinition{ + Target: proptools.StringPtr("/system_ext"), + Name: proptools.StringPtr("system/system_ext"), + }, + filesystem.SymlinkDefinition{ + Target: proptools.StringPtr("/vendor"), + Name: proptools.StringPtr("system/vendor"), + }, + filesystem.SymlinkDefinition{ + Target: proptools.StringPtr("/system_dlkm/lib/modules"), + Name: proptools.StringPtr("system/lib/modules"), + }, + } + fsProps.Base_dir = proptools.StringPtr("system") case "system_ext": fsProps.Fsverity.Inputs = []string{ "framework/*", -- cgit v1.2.3-59-g8ed1b