Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 23c97695 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Add missing root dirs/symlinks to soong-built system image" into main

parents 61678953 1d4e76c0
Loading
Loading
Loading
Loading
+106 −0
Original line number Diff line number Diff line
@@ -222,8 +222,79 @@ func partitionSpecificFsProps(fsProps *filesystem.FilesystemProperties, partitio
			"framework/oat/*/*", // framework/oat/{arch}
		}
		fsProps.Fsverity.Libs = []string{":framework-res{.export-package.apk}"}
		// Most of the symlinks and directories listed here originate from create_root_structure.mk,
		// but the handwritten generic system image also recreates them:
		// https://cs.android.com/android/platform/superproject/main/+/main:build/make/target/product/generic/Android.bp;l=33;drc=db08311f1b6ef6cb0a4fbcc6263b89849360ce04
		// TODO(b/377734331): only generate the symlinks if the relevant partitions exist
		fsProps.Symlinks = []filesystem.SymlinkDefinition{
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/system/bin/init"),
				Name:   proptools.StringPtr("init"),
			},
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/system/etc"),
				Name:   proptools.StringPtr("etc"),
			},
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/system/bin"),
				Name:   proptools.StringPtr("bin"),
			},
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/data/user_de/0/com.android.shell/files/bugreports"),
				Name:   proptools.StringPtr("bugreports"),
			},
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/sys/kernel/debug"),
				Name:   proptools.StringPtr("d"),
			},
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/storage/self/primary"),
				Name:   proptools.StringPtr("sdcard"),
			},
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/product/etc/security/adb_keys"),
				Name:   proptools.StringPtr("adb_keys"),
			},
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/vendor/odm/app"),
				Name:   proptools.StringPtr("odm/app"),
			},
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/vendor/odm/bin"),
				Name:   proptools.StringPtr("odm/bin"),
			},
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/vendor/odm/etc"),
				Name:   proptools.StringPtr("odm/etc"),
			},
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/vendor/odm/firmware"),
				Name:   proptools.StringPtr("odm/firmware"),
			},
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/vendor/odm/framework"),
				Name:   proptools.StringPtr("odm/framework"),
			},
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/vendor/odm/lib"),
				Name:   proptools.StringPtr("odm/lib"),
			},
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/vendor/odm/lib64"),
				Name:   proptools.StringPtr("odm/lib64"),
			},
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/vendor/odm/overlay"),
				Name:   proptools.StringPtr("odm/overlay"),
			},
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/vendor/odm/priv-app"),
				Name:   proptools.StringPtr("odm/priv-app"),
			},
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/vendor/odm/usr"),
				Name:   proptools.StringPtr("odm/usr"),
			},
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/product"),
				Name:   proptools.StringPtr("system/product"),
@@ -240,7 +311,42 @@ func partitionSpecificFsProps(fsProps *filesystem.FilesystemProperties, partitio
				Target: proptools.StringPtr("/system_dlkm/lib/modules"),
				Name:   proptools.StringPtr("system/lib/modules"),
			},
			filesystem.SymlinkDefinition{
				Target: proptools.StringPtr("/data/cache"),
				Name:   proptools.StringPtr("cache"),
			},
		}
		fsProps.Dirs = proptools.NewSimpleConfigurable([]string{
			// From generic_rootdirs in build/make/target/product/generic/Android.bp
			"acct",
			"apex",
			"bootstrap-apex",
			"config",
			"data",
			"data_mirror",
			"debug_ramdisk",
			"dev",
			"linkerconfig",
			"metadata",
			"mnt",
			"odm",
			"odm_dlkm",
			"oem",
			"postinstall",
			"proc",
			"second_stage_resources",
			"storage",
			"sys",
			"system",
			"system_dlkm",
			"tmp",
			"vendor",
			"vendor_dlkm",

			// from android_rootdirs in build/make/target/product/generic/Android.bp
			"system_ext",
			"product",
		})
	case "system_ext":
		fsProps.Fsverity.Inputs = []string{
			"framework/*",
+3 −0
Original line number Diff line number Diff line
@@ -95,15 +95,18 @@ func createFsGenState(ctx android.LoadHookContext, generatedPrebuiltEtcModuleNam
			fsDeps: map[string]*multilibDeps{
				// These additional deps are added according to the cuttlefish system image bp.
				"system": {
					// keep-sorted start
					"com.android.apex.cts.shim.v1_prebuilt":     defaultDepCandidateProps(ctx.Config()),
					"dex_bootjars":                              defaultDepCandidateProps(ctx.Config()),
					"framework_compatibility_matrix.device.xml": defaultDepCandidateProps(ctx.Config()),
					"init.environ.rc-soong":                     defaultDepCandidateProps(ctx.Config()),
					"libcompiler_rt":                            defaultDepCandidateProps(ctx.Config()),
					"libdmabufheap":                             defaultDepCandidateProps(ctx.Config()),
					"libgsi":                                    defaultDepCandidateProps(ctx.Config()),
					"llndk.libraries.txt":                       defaultDepCandidateProps(ctx.Config()),
					"logpersist.start":                          defaultDepCandidateProps(ctx.Config()),
					"update_engine_sideload":                    defaultDepCandidateProps(ctx.Config()),
					// keep-sorted end
				},
				"vendor": {
					"fs_config_files_vendor":                               defaultDepCandidateProps(ctx.Config()),