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

Commit 3216c986 authored by Jihoon Kang's avatar Jihoon Kang
Browse files

Auto generate recovery partition

This change conditionally auto generates the recovery partition in
filesystem_generator.

Test: m soong_generated_recovery_filesystem_test
Bug: 381888358
Change-Id: I8938e842d8587ec1c986542385ed50c19dc1c76d
parent f0eabbf9
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -1519,6 +1519,13 @@ func (c *deviceConfig) BinderBitness() string {
	return "64"
}

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

func (c *deviceConfig) VendorPath() string {
	if c.config.productVariables.VendorPath != nil {
		return *c.config.productVariables.VendorPath
@@ -1614,6 +1621,10 @@ func (c *deviceConfig) BuildingUserdataImage() bool {
	return proptools.Bool(c.config.productVariables.BuildingUserdataImage)
}

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

func (c *deviceConfig) BtConfigIncludeDir() string {
	return String(c.config.productVariables.BtConfigIncludeDir)
}
+2 −0
Original line number Diff line number Diff line
@@ -1387,6 +1387,8 @@ func (m *ModuleBase) PartitionTag(config DeviceConfig) string {
		partition = "ramdisk"
	} else if m.InstallInVendorRamdisk() {
		partition = "vendor_ramdisk"
	} else if m.InstallInRecovery() {
		partition = "recovery"
	}
	return partition
}
+2 −0
Original line number Diff line number Diff line
@@ -351,6 +351,8 @@ type ProductVariables struct {
	OemPath               *string `json:",omitempty"`
	UserdataPath          *string `json:",omitempty"`
	BuildingUserdataImage *bool   `json:",omitempty"`
	RecoveryPath          *string `json:",omitempty"`
	BuildingRecoveryImage *bool   `json:",omitempty"`

	ClangTidy  *bool   `json:",omitempty"`
	TidyChecks *string `json:",omitempty"`
+1 −0
Original line number Diff line number Diff line
@@ -762,6 +762,7 @@ var validPartitions = []string{
	"system_dlkm",
	"ramdisk",
	"vendor_ramdisk",
	"recovery",
}

func (f *filesystem) addMakeBuiltFiles(ctx android.ModuleContext, builder *android.RuleBuilder, rootDir android.Path) {
+3 −0
Original line number Diff line number Diff line
@@ -108,6 +108,9 @@ func generatedPartitions(ctx android.LoadHookContext) []string {
	if buildingVendorBootImage(partitionVars) {
		generatedPartitions = append(generatedPartitions, "vendor_ramdisk")
	}
	if ctx.DeviceConfig().BuildingRecoveryImage() && ctx.DeviceConfig().RecoveryPath() == "recovery" {
		generatedPartitions = append(generatedPartitions, "recovery")
	}
	return generatedPartitions
}

Loading