Merge "Allow packing custom radio images into target_files zip." am: 9ea6a8b817
am: ce10b6e2f3
Change-Id: I3b6f7ade42f58baa722e2ee3df81efac48a5b653
diff --git a/core/Makefile b/core/Makefile
index 10532d7..f91d6fa 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -2492,6 +2492,11 @@
endif # BOARD_AVB_DTBO_KEY_PATH
endif # BOARD_AVB_ENABLE
endif # BOARD_PREBUILT_DTBOIMAGE
+ @# The radio images in BOARD_PACK_RADIOIMAGES will be additionally copied from RADIO/ into
+ @# IMAGES/, which then will be added into <product>-img.zip. Such images must be listed in
+ @# INSTALLED_RADIOIMAGE_TARGET.
+ $(hide) $(foreach part,$(BOARD_PACK_RADIOIMAGES), \
+ echo $(part) >> $(zip_root)/META/pack_radioimages.txt;)
@# Run fs_config on all the system, vendor, boot ramdisk,
@# and recovery ramdisk files in the zip, and save the output
$(hide) $(call fs_config,$(zip_root)/SYSTEM,system/) > $(zip_root)/META/filesystem_config.txt
diff --git a/tools/releasetools/add_img_to_target_files.py b/tools/releasetools/add_img_to_target_files.py
index ff7109a..23c179f 100755
--- a/tools/releasetools/add_img_to_target_files.py
+++ b/tools/releasetools/add_img_to_target_files.py
@@ -654,6 +654,31 @@
if output_zip:
OPTIONS.replace_updated_files_list.append(care_map_path)
+ # Radio images that need to be packed into IMAGES/, and product-img.zip.
+ pack_radioimages = os.path.join(
+ OPTIONS.input_tmp, "META", "pack_radioimages.txt")
+ if os.path.exists(pack_radioimages):
+ with open(pack_radioimages, 'r') as f:
+ lines = f.readlines()
+ for line in lines:
+ img_name = line.strip()
+ _, ext = os.path.splitext(img_name)
+ if not ext:
+ img_name += ".img"
+ prebuilt_path = os.path.join(OPTIONS.input_tmp, "IMAGES", img_name)
+ if os.path.exists(prebuilt_path):
+ print("%s already exists, no need to overwrite..." % (img_name,))
+ continue
+
+ img_radio_path = os.path.join(OPTIONS.input_tmp, "RADIO", img_name)
+ assert os.path.exists(img_radio_path), \
+ "Failed to find %s at %s" % (img_name, img_radio_path)
+ if output_zip:
+ common.ZipWrite(output_zip, img_radio_path,
+ os.path.join("IMAGES", img_name))
+ else:
+ shutil.copy(img_radio_path, prebuilt_path)
+
if output_zip:
common.ZipClose(output_zip)
if OPTIONS.replace_updated_files_list: