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

Commit 29520dbd authored by Zi Wang's avatar Zi Wang Committed by Gerrit Code Review
Browse files

Merge "Auto generate userdata.img" into main

parents 6765130b 23ba8761
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -1599,6 +1599,17 @@ func (c *deviceConfig) OemPath() string {
	return "oem"
}

func (c *deviceConfig) UserdataPath() string {
	if c.config.productVariables.UserdataPath != nil {
		return *c.config.productVariables.UserdataPath
	}
	return "data"
}

func (c *deviceConfig) BuildingUserdataImage() bool {
	return proptools.Bool(c.config.productVariables.BuildingUserdataImage)
}

func (c *deviceConfig) BtConfigIncludeDir() string {
	return String(c.config.productVariables.BtConfigIncludeDir)
}
+13 −11
Original line number Diff line number Diff line
@@ -349,6 +349,8 @@ type ProductVariables struct {
	SystemExtPath         *string `json:",omitempty"`
	SystemDlkmPath        *string `json:",omitempty"`
	OemPath               *string `json:",omitempty"`
	UserdataPath          *string `json:",omitempty"`
	BuildingUserdataImage *bool   `json:",omitempty"`

	ClangTidy  *bool   `json:",omitempty"`
	TidyChecks *string `json:",omitempty"`
+3 −0
Original line number Diff line number Diff line
@@ -36,6 +36,8 @@ type PartitionNameProperties struct {
	Odm_partition_name *string
	// The vbmeta partition and its "chained" partitions
	Vbmeta_partitions []string
	// Name of the Userdata partition filesystem module
	Userdata_partition_name *string
}

type androidDevice struct {
@@ -70,6 +72,7 @@ func (a *androidDevice) DepsMutator(ctx android.BottomUpMutatorContext) {
	addDependencyIfDefined(a.partitionProps.Product_partition_name)
	addDependencyIfDefined(a.partitionProps.Vendor_partition_name)
	addDependencyIfDefined(a.partitionProps.Odm_partition_name)
	addDependencyIfDefined(a.partitionProps.Userdata_partition_name)
	for _, vbmetaPartition := range a.partitionProps.Vbmeta_partitions {
		ctx.AddDependency(ctx.Module(), filesystemDepTag, vbmetaPartition)
	}
+5 −0
Original line number Diff line number Diff line
@@ -130,6 +130,9 @@ func (f *filesystemCreator) createDeviceModule(
	if android.InList("odm", generatedPartitionTypes) {
		partitionProps.Odm_partition_name = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "odm"))
	}
	if android.InList("userdata", f.properties.Generated_partition_types) {
		partitionProps.Userdata_partition_name = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "userdata"))
	}
	partitionProps.Vbmeta_partitions = vbmetaPartitions

	ctx.CreateModule(filesystem.AndroidDeviceFactory, baseProps, partitionProps)
@@ -202,6 +205,8 @@ func partitionSpecificFsProps(fsProps *filesystem.FilesystemProperties, partitio
			},
		}
		fsProps.Base_dir = proptools.StringPtr("odm")
	case "userdata":
		fsProps.Base_dir = proptools.StringPtr("data")

	}
}
+4 −0
Original line number Diff line number Diff line
@@ -93,6 +93,9 @@ func generatedPartitions(ctx android.LoadHookContext) []string {
	if ctx.DeviceConfig().BuildingOdmImage() && ctx.DeviceConfig().OdmPath() == "odm" {
		generatedPartitions = append(generatedPartitions, "odm")
	}
	if ctx.DeviceConfig().BuildingUserdataImage() && ctx.DeviceConfig().UserdataPath() == "data" {
		generatedPartitions = append(generatedPartitions, "userdata")
	}
	if ctx.Config().ProductVariables().PartitionVarsForSoongMigrationOnlyDoNotUse.BuildingSystemDlkmImage {
		generatedPartitions = append(generatedPartitions, "system_dlkm")
	}
@@ -144,6 +147,7 @@ func createFsGenState(ctx android.LoadHookContext, generatedPrebuiltEtcModuleNam
					"com.android.vndk.v34": defaultDepCandidateProps(ctx.Config()),
				},
				"system_dlkm": {},
				"userdata":    {},
			},
			fsDepsMutex:               sync.Mutex{},
			moduleToInstallationProps: map[string]installationProperties{},