ramdisk_module and dtb_prebuild properties are optional

The two properties are now optional, so that we can split boot.img into
boot.img that doesn't have ramdisk and init_boot.img that has only the
ramdisk.

Bug: N/A
Test: m com.android.virt
Change-Id: I5dc8b140893dfbcf69a8b5c099d23b9216217b53
This commit is contained in:
Jiyong Park 2022-01-06 14:28:53 +09:00
parent 69e8731101
commit 393ebfc85c

View file

@ -145,12 +145,10 @@ func (b *bootimg) buildBootImage(ctx android.ModuleContext, vendor bool) android
}
dtbName := proptools.String(b.properties.Dtb_prebuilt)
if dtbName == "" {
ctx.PropertyErrorf("dtb_prebuilt", "must be set")
return output
if dtbName != "" {
dtb := android.PathForModuleSrc(ctx, dtbName)
cmd.FlagWithInput("--dtb ", dtb)
}
dtb := android.PathForModuleSrc(ctx, dtbName)
cmd.FlagWithInput("--dtb ", dtb)
cmdline := strings.Join(b.properties.Cmdline, " ")
if cmdline != "" {
@ -178,20 +176,18 @@ func (b *bootimg) buildBootImage(ctx android.ModuleContext, vendor bool) android
cmd.FlagWithArg("--header_version ", headerVersion)
ramdiskName := proptools.String(b.properties.Ramdisk_module)
if ramdiskName == "" {
ctx.PropertyErrorf("ramdisk_module", "must be set")
return output
}
ramdisk := ctx.GetDirectDepWithTag(ramdiskName, bootimgRamdiskDep)
if filesystem, ok := ramdisk.(*filesystem); ok {
flag := "--ramdisk "
if vendor {
flag = "--vendor_ramdisk "
if ramdiskName != "" {
ramdisk := ctx.GetDirectDepWithTag(ramdiskName, bootimgRamdiskDep)
if filesystem, ok := ramdisk.(*filesystem); ok {
flag := "--ramdisk "
if vendor {
flag = "--vendor_ramdisk "
}
cmd.FlagWithInput(flag, filesystem.OutputPath())
} else {
ctx.PropertyErrorf("ramdisk", "%q is not android_filesystem module", ramdisk.Name())
return output
}
cmd.FlagWithInput(flag, filesystem.OutputPath())
} else {
ctx.PropertyErrorf("ramdisk", "%q is not android_filesystem module", ramdisk.Name())
return output
}
bootconfig := proptools.String(b.properties.Bootconfig)