Add a partial IMAGES/ subdir for target_files.zip

With this CL, a handful of .img files will be added to the soong built
target_files.zip. Other .img files (like super.img, vbmeta*) and other
*map artifacts will be added in followup CLs.

Test: Built the soong generated target_files.zip locally

Bug: 388635097
Change-Id: Ia60fadb825d872100b49e56e404e22d0b1ece8a5
diff --git a/filesystem/android_device.go b/filesystem/android_device.go
index 8e2b9f7..e1eb9f5 100644
--- a/filesystem/android_device.go
+++ b/filesystem/android_device.go
@@ -186,6 +186,9 @@
 		toCopy = append(toCopy, targetFilesZipCopy{a.partitionProps.Recovery_partition_name, "VENDOR_BOOT/RAMDISK"})
 	}
 
+	// Create an IMAGES/ subdirectory
+	builder.Command().Textf("mkdir -p %s/IMAGES/", targetFilesDir.String())
+
 	for _, zipCopy := range toCopy {
 		if zipCopy.srcModule == nil {
 			continue
@@ -206,6 +209,7 @@
 			// Create the ROOT partition in target_files.zip
 			builder.Command().Textf("rsync --links --exclude=system/* %s/ -r %s/ROOT", fsInfo.RootDir, targetFilesDir.String())
 		}
+		builder.Command().Textf("cp %s %s/IMAGES/", fsInfo.Output, targetFilesDir.String())
 	}
 	// Copy cmdline, kernel etc. files of boot images
 	if a.partitionProps.Vendor_boot_partition_name != nil {