Build ramdisk's build.prop with soong

Following the same pattern as existing soong build.props, but with
minor tweaks for ramdisk such as making the partition "bootimage".

Bug: 378146476
Test: Diff'd out/target/product/vsoc_x86_64/ramdisk/system/etc/ramdisk/build.prop before and after this cl
Change-Id: I7ab2621d78c28deb73628bc455e040247a3c8031
diff --git a/Android.bp b/Android.bp
index 9763622..1219c62 100644
--- a/Android.bp
+++ b/Android.bp
@@ -234,3 +234,12 @@
     relative_install_path: "etc", // odm_dlkm/etc/build.prop
     visibility: ["//visibility:private"],
 }
+
+build_prop {
+    name: "ramdisk-build.prop",
+    stem: "build.prop",
+    ramdisk: true,
+    product_config: ":product_config",
+    relative_install_path: "etc/ramdisk", // ramdisk/system/etc/ramdisk/build.prop
+    visibility: ["//visibility:private"],
+}
diff --git a/android/build_prop.go b/android/build_prop.go
index 8389470..270e4de 100644
--- a/android/build_prop.go
+++ b/android/build_prop.go
@@ -115,21 +115,14 @@
 		return "vendor_dlkm"
 	} else if p.InstallInOdmDlkm() {
 		return "odm_dlkm"
+	} else if p.InstallInRamdisk() {
+		// From this hardcoding in make:
+		// https://cs.android.com/android/platform/superproject/main/+/main:build/make/core/sysprop.mk;l=311;drc=274435657e4682e5cee3fffd11fb301ab32a828d
+		return "bootimage"
 	}
 	return "system"
 }
 
-var validPartitions = []string{
-	"system",
-	"system_ext",
-	"product",
-	"odm",
-	"vendor",
-	"system_dlkm",
-	"vendor_dlkm",
-	"odm_dlkm",
-}
-
 func (p *buildPropModule) GenerateAndroidBuildActions(ctx ModuleContext) {
 	if !p.SocSpecific() && p.properties.Android_info != nil {
 		ctx.ModuleErrorf("Android_info cannot be set if build.prop is not installed in vendor partition")
@@ -138,10 +131,6 @@
 	p.outputFilePath = PathForModuleOut(ctx, "build.prop").OutputPath
 
 	partition := p.partition(ctx.DeviceConfig())
-	if !InList(partition, validPartitions) {
-		ctx.PropertyErrorf("partition", "unsupported partition %q: only %q are supported", partition, validPartitions)
-		return
-	}
 
 	rule := NewRuleBuilder(pctx, ctx)
 
diff --git a/scripts/gen_build_prop.py b/scripts/gen_build_prop.py
index 0b7780e..5f52d6f 100644
--- a/scripts/gen_build_prop.py
+++ b/scripts/gen_build_prop.py
@@ -608,7 +608,7 @@
         build_product_prop(args)
       case "vendor":
         build_vendor_prop(args)
-      case "system_dlkm" | "vendor_dlkm" | "odm_dlkm":
+      case "system_dlkm" | "vendor_dlkm" | "odm_dlkm" | "bootimage":
         build_prop(args, gen_build_info=False, gen_common_build_props=True, variables=[])
       case _:
         sys.exit(f"not supported partition {args.partition}")