Add avb info of bootimages in misc_info.txt

Make built $ANDROID_PRODUCT_OUT/misc_info.txt contains the avb
information of the installed boot images. This info overlaps with the
contents of the buildPropFile of the `bootImg` modules, but
- Only some of the entries are written to misc_info.txt
- misc_info.txt contains the "partition qualified" key. e.g.
  avb_init_boot_algorithm and not avb_algorithm

This CL adds a secondary `propFileForMiscInfo` to the build actions
of bootimg. This file will be propagated to android_device via a
provider and cat'd to the misc_info.txt created by android_device

(There are still a lot of diffs between Make and Soong misc_info.txt)

Bug: 398036609
Test: Built Soong's misc_info.txt
Change-Id: I0c49ebaf7a2bac934dca05bcdab65b8521b891ed
diff --git a/filesystem/android_device.go b/filesystem/android_device.go
index bd887c7..3f6348d 100644
--- a/filesystem/android_device.go
+++ b/filesystem/android_device.go
@@ -789,6 +789,21 @@
 			ctx.ModuleErrorf("Super partition %s does set SuperImageProvider\n", superPartition.Name())
 		}
 	}
+	bootImgNames := []*string{
+		a.partitionProps.Boot_partition_name,
+		a.partitionProps.Init_boot_partition_name,
+		a.partitionProps.Vendor_boot_partition_name,
+	}
+	for _, bootImgName := range bootImgNames {
+		if bootImgName == nil {
+			continue
+		}
+
+		bootImg := ctx.GetDirectDepProxyWithTag(proptools.String(bootImgName), filesystemDepTag)
+		bootImgInfo, _ := android.OtherModuleProvider(ctx, bootImg, BootimgInfoProvider)
+		// cat avb_ metadata of the boot images
+		builder.Command().Text("cat").Input(bootImgInfo.PropFileForMiscInfo).Textf(" >> %s", miscInfo)
+	}
 
 	builder.Build("misc_info", "Building misc_info")