Loading core/Makefile +21 −13 Original line number Diff line number Diff line Loading @@ -459,10 +459,11 @@ endif build_desc := ifeq (,$(filter true, $(TARGET_NO_KERNEL) $(TARGET_NO_RECOVERY))) INSTALLED_RECOVERYIMAGE_TARGET := $(PRODUCT_OUT)/recovery.img else INSTALLED_RECOVERYIMAGE_TARGET := ifdef BUILDING_RECOVERY_IMAGE ifneq ($(BOARD_USES_RECOVERY_AS_BOOT),true) INSTALLED_RECOVERYIMAGE_TARGET := $(PRODUCT_OUT)/recovery.img endif endif $(INSTALLED_BUILD_PROP_TARGET): $(intermediate_system_build_prop) $(INSTALLED_RECOVERYIMAGE_TARGET) Loading Loading @@ -900,13 +901,14 @@ ramdisk-nodeps: $(MKBOOTFS) | $(MINIGZIP) endif # BUILDING_RAMDISK_IMAGE # ----------------------------------------------------------------- # the boot image, which is a collection of other images. INSTALLED_BOOTIMAGE_TARGET := $(PRODUCT_OUT)/boot.img # This is defined here since we may be building recovery as boot # below and only want to define this once BUILT_BOOTIMAGE_TARGET := $(PRODUCT_OUT)/boot.img ifneq ($(strip $(TARGET_NO_KERNEL)),true) # ----------------------------------------------------------------- # the boot image, which is a collection of other images. INTERNAL_BOOTIMAGE_ARGS := \ $(addprefix --second ,$(INSTALLED_2NDBOOTLOADER_TARGET)) \ --kernel $(INSTALLED_KERNEL_TARGET) Loading Loading @@ -945,8 +947,10 @@ INTERNAL_MKBOOTIMG_VERSION_ARGS := \ --os_version $(PLATFORM_VERSION) \ --os_patch_level $(PLATFORM_SECURITY_PATCH) # We build recovery as boot image if BOARD_USES_RECOVERY_AS_BOOT is true. ifneq ($(BOARD_USES_RECOVERY_AS_BOOT),true) # Define these only if we are building boot ifdef BUILDING_BOOT_IMAGE INSTALLED_BOOTIMAGE_TARGET := $(BUILT_BOOTIMAGE_TARGET) ifeq ($(TARGET_BOOTIMAGE_USE_EXT2),true) $(error TARGET_BOOTIMAGE_USE_EXT2 is not supported anymore) Loading Loading @@ -1017,7 +1021,7 @@ bootimage-nodeps: $(MKBOOTIMG) $(hide) $(call assert-max-image-size,$(INSTALLED_BOOTIMAGE_TARGET),$(BOARD_BOOTIMAGE_PARTITION_SIZE)) endif # TARGET_BOOTIMAGE_USE_EXT2 endif # BOARD_USES_RECOVERY_AS_BOOT endif # BUILDING_BOOT_IMAGE else # TARGET_NO_KERNEL == "true" ifdef BOARD_PREBUILT_BOOTIMAGE Loading Loading @@ -1493,7 +1497,7 @@ endef # Recovery image # Recovery image exists if we are building recovery, or building recovery as boot. ifneq (,$(INSTALLED_RECOVERYIMAGE_TARGET)$(filter true,$(BOARD_USES_RECOVERY_AS_BOOT))) ifdef BUILDING_RECOVERY_IMAGE INTERNAL_RECOVERYIMAGE_FILES := $(filter $(TARGET_RECOVERY_OUT)/%, \ $(ALL_DEFAULT_INSTALLED_MODULES)) Loading @@ -1506,6 +1510,7 @@ INSTALLED_FILES_JSON_RECOVERY := $(INSTALLED_FILES_FILE_RECOVERY:.txt=.json) # build-recoveryimage-target, which would touch the files under TARGET_RECOVERY_OUT and race with # the call to FILELIST. ifeq ($(BOARD_USES_RECOVERY_AS_BOOT),true) INSTALLED_BOOTIMAGE_TARGET := $(BUILT_BOOTIMAGE_TARGET) $(INSTALLED_FILES_FILE_RECOVERY): $(INSTALLED_BOOTIMAGE_TARGET) else $(INSTALLED_FILES_FILE_RECOVERY): $(INSTALLED_RECOVERYIMAGE_TARGET) Loading Loading @@ -1924,9 +1929,9 @@ recoveryimage-nodeps: @echo "make $@: ignoring dependencies" $(call build-recoveryimage-target, $(INSTALLED_RECOVERYIMAGE_TARGET)) else # INSTALLED_RECOVERYIMAGE_TARGET not defined else # BUILDING_RECOVERY_IMAGE RECOVERY_RESOURCE_ZIP := endif endif # BUILDING_RECOVERY_IMAGE .PHONY: recoveryimage recoveryimage: $(INSTALLED_RECOVERYIMAGE_TARGET) $(RECOVERY_RESOURCE_ZIP) Loading Loading @@ -3889,6 +3894,9 @@ endif ifdef BOARD_BOOTIMAGE_PARTITION_SIZE $(hide) echo "boot_size=$(BOARD_BOOTIMAGE_PARTITION_SIZE)" >> $(zip_root)/META/misc_info.txt endif ifeq ($(INSTALLED_BOOTIMAGE_TARGET),) $(hide) echo "no_boot=true" >> $(zip_root)/META/misc_info.txt endif ifeq ($(INSTALLED_RECOVERYIMAGE_TARGET),) $(hide) echo "no_recovery=true" >> $(zip_root)/META/misc_info.txt endif Loading core/board_config.mk +27 −2 Original line number Diff line number Diff line Loading @@ -290,8 +290,33 @@ else ifeq ($(PRODUCT_BUILD_CACHE_IMAGE),true) endif .KATI_READONLY := BUILDING_CACHE_IMAGE # TODO: Add BUILDING_BOOT_IMAGE / BUILDING_RECOVERY_IMAGE # This gets complicated with BOARD_USES_RECOVERY_AS_BOOT, so skipping for now. # Are we building a boot image BUILDING_BOOT_IMAGE := ifeq ($(BOARD_USES_RECOVERY_AS_BOOT),true) BUILDING_BOOT_IMAGE := else ifeq ($(PRODUCT_BUILD_BOOT_IMAGE),) ifdef BOARD_BOOTIMAGE_PARTITION_SIZE BUILDING_BOOT_IMAGE := true endif else ifeq ($(PRODUCT_BUILD_BOOT_IMAGE),true) BUILDING_BOOT_IMAGE := true endif .KATI_READONLY := BUILDING_BOOT_IMAGE # Are we building a recovery image BUILDING_RECOVERY_IMAGE := ifeq ($(BOARD_USES_RECOVERY_AS_BOOT),true) BUILDING_RECOVERY_IMAGE := true else ifeq ($(PRODUCT_BUILD_RECOVERY_IMAGE),) ifdef BOARD_RECOVERYIMAGE_PARTITION_SIZE ifeq (,$(filter true, $(TARGET_NO_KERNEL) $(TARGET_NO_RECOVERY))) BUILDING_RECOVERY_IMAGE := true endif endif else ifeq ($(PRODUCT_BUILD_RECOVERY_IMAGE),true) BUILDING_RECOVERY_IMAGE := true endif .KATI_READONLY := BUILDING_RECOVERY_IMAGE # Are we building a ramdisk image BUILDING_RAMDISK_IMAGE := true Loading core/product.mk +3 −0 Original line number Diff line number Diff line Loading @@ -355,9 +355,12 @@ _product_single_value_vars += PRODUCT_BUILD_ODM_IMAGE _product_single_value_vars += PRODUCT_BUILD_CACHE_IMAGE _product_single_value_vars += PRODUCT_BUILD_RAMDISK_IMAGE _product_single_value_vars += PRODUCT_BUILD_USERDATA_IMAGE _product_single_value_vars += PRODUCT_BUILD_RECOVERY_IMAGE _product_single_value_vars += PRODUCT_BUILD_BOOT_IMAGE _product_list_vars += PRODUCT_UPDATABLE_BOOT_MODULES _product_list_vars += PRODUCT_UPDATABLE_BOOT_LOCATIONS # Whether the product would like to check prebuilt ELF files. _product_single_value_vars += PRODUCT_CHECK_ELF_FILES Loading core/product_config.mk +3 −1 Original line number Diff line number Diff line Loading @@ -405,7 +405,9 @@ $(foreach image, \ ODM \ CACHE \ RAMDISK \ USERDATA, \ USERDATA \ BOOT \ RECOVERY, \ $(eval $(call product-build-image-config,$(image)))) product-build-image-config := Loading tools/releasetools/add_img_to_target_files.py +14 −11 Original line number Diff line number Diff line Loading @@ -730,6 +730,7 @@ def AddImagesToTargetFiles(filename): OPTIONS.info_dict = common.LoadInfoDict(OPTIONS.input_tmp, repacking=True) has_recovery = OPTIONS.info_dict.get("no_recovery") != "true" has_boot = OPTIONS.info_dict.get("no_boot") != "true" # {vendor,odm,product,product_services}.img are unlike system.img or # system_other.img. Because it could be built from source, or dropped into Loading Loading @@ -777,6 +778,8 @@ def AddImagesToTargetFiles(filename): def banner(s): logger.info("\n\n++++ " + s + " ++++\n\n") boot_image = None if has_boot: banner("boot") # common.GetBootableImage() returns the image directly if present. boot_image = common.GetBootableImage( Loading Loading
core/Makefile +21 −13 Original line number Diff line number Diff line Loading @@ -459,10 +459,11 @@ endif build_desc := ifeq (,$(filter true, $(TARGET_NO_KERNEL) $(TARGET_NO_RECOVERY))) INSTALLED_RECOVERYIMAGE_TARGET := $(PRODUCT_OUT)/recovery.img else INSTALLED_RECOVERYIMAGE_TARGET := ifdef BUILDING_RECOVERY_IMAGE ifneq ($(BOARD_USES_RECOVERY_AS_BOOT),true) INSTALLED_RECOVERYIMAGE_TARGET := $(PRODUCT_OUT)/recovery.img endif endif $(INSTALLED_BUILD_PROP_TARGET): $(intermediate_system_build_prop) $(INSTALLED_RECOVERYIMAGE_TARGET) Loading Loading @@ -900,13 +901,14 @@ ramdisk-nodeps: $(MKBOOTFS) | $(MINIGZIP) endif # BUILDING_RAMDISK_IMAGE # ----------------------------------------------------------------- # the boot image, which is a collection of other images. INSTALLED_BOOTIMAGE_TARGET := $(PRODUCT_OUT)/boot.img # This is defined here since we may be building recovery as boot # below and only want to define this once BUILT_BOOTIMAGE_TARGET := $(PRODUCT_OUT)/boot.img ifneq ($(strip $(TARGET_NO_KERNEL)),true) # ----------------------------------------------------------------- # the boot image, which is a collection of other images. INTERNAL_BOOTIMAGE_ARGS := \ $(addprefix --second ,$(INSTALLED_2NDBOOTLOADER_TARGET)) \ --kernel $(INSTALLED_KERNEL_TARGET) Loading Loading @@ -945,8 +947,10 @@ INTERNAL_MKBOOTIMG_VERSION_ARGS := \ --os_version $(PLATFORM_VERSION) \ --os_patch_level $(PLATFORM_SECURITY_PATCH) # We build recovery as boot image if BOARD_USES_RECOVERY_AS_BOOT is true. ifneq ($(BOARD_USES_RECOVERY_AS_BOOT),true) # Define these only if we are building boot ifdef BUILDING_BOOT_IMAGE INSTALLED_BOOTIMAGE_TARGET := $(BUILT_BOOTIMAGE_TARGET) ifeq ($(TARGET_BOOTIMAGE_USE_EXT2),true) $(error TARGET_BOOTIMAGE_USE_EXT2 is not supported anymore) Loading Loading @@ -1017,7 +1021,7 @@ bootimage-nodeps: $(MKBOOTIMG) $(hide) $(call assert-max-image-size,$(INSTALLED_BOOTIMAGE_TARGET),$(BOARD_BOOTIMAGE_PARTITION_SIZE)) endif # TARGET_BOOTIMAGE_USE_EXT2 endif # BOARD_USES_RECOVERY_AS_BOOT endif # BUILDING_BOOT_IMAGE else # TARGET_NO_KERNEL == "true" ifdef BOARD_PREBUILT_BOOTIMAGE Loading Loading @@ -1493,7 +1497,7 @@ endef # Recovery image # Recovery image exists if we are building recovery, or building recovery as boot. ifneq (,$(INSTALLED_RECOVERYIMAGE_TARGET)$(filter true,$(BOARD_USES_RECOVERY_AS_BOOT))) ifdef BUILDING_RECOVERY_IMAGE INTERNAL_RECOVERYIMAGE_FILES := $(filter $(TARGET_RECOVERY_OUT)/%, \ $(ALL_DEFAULT_INSTALLED_MODULES)) Loading @@ -1506,6 +1510,7 @@ INSTALLED_FILES_JSON_RECOVERY := $(INSTALLED_FILES_FILE_RECOVERY:.txt=.json) # build-recoveryimage-target, which would touch the files under TARGET_RECOVERY_OUT and race with # the call to FILELIST. ifeq ($(BOARD_USES_RECOVERY_AS_BOOT),true) INSTALLED_BOOTIMAGE_TARGET := $(BUILT_BOOTIMAGE_TARGET) $(INSTALLED_FILES_FILE_RECOVERY): $(INSTALLED_BOOTIMAGE_TARGET) else $(INSTALLED_FILES_FILE_RECOVERY): $(INSTALLED_RECOVERYIMAGE_TARGET) Loading Loading @@ -1924,9 +1929,9 @@ recoveryimage-nodeps: @echo "make $@: ignoring dependencies" $(call build-recoveryimage-target, $(INSTALLED_RECOVERYIMAGE_TARGET)) else # INSTALLED_RECOVERYIMAGE_TARGET not defined else # BUILDING_RECOVERY_IMAGE RECOVERY_RESOURCE_ZIP := endif endif # BUILDING_RECOVERY_IMAGE .PHONY: recoveryimage recoveryimage: $(INSTALLED_RECOVERYIMAGE_TARGET) $(RECOVERY_RESOURCE_ZIP) Loading Loading @@ -3889,6 +3894,9 @@ endif ifdef BOARD_BOOTIMAGE_PARTITION_SIZE $(hide) echo "boot_size=$(BOARD_BOOTIMAGE_PARTITION_SIZE)" >> $(zip_root)/META/misc_info.txt endif ifeq ($(INSTALLED_BOOTIMAGE_TARGET),) $(hide) echo "no_boot=true" >> $(zip_root)/META/misc_info.txt endif ifeq ($(INSTALLED_RECOVERYIMAGE_TARGET),) $(hide) echo "no_recovery=true" >> $(zip_root)/META/misc_info.txt endif Loading
core/board_config.mk +27 −2 Original line number Diff line number Diff line Loading @@ -290,8 +290,33 @@ else ifeq ($(PRODUCT_BUILD_CACHE_IMAGE),true) endif .KATI_READONLY := BUILDING_CACHE_IMAGE # TODO: Add BUILDING_BOOT_IMAGE / BUILDING_RECOVERY_IMAGE # This gets complicated with BOARD_USES_RECOVERY_AS_BOOT, so skipping for now. # Are we building a boot image BUILDING_BOOT_IMAGE := ifeq ($(BOARD_USES_RECOVERY_AS_BOOT),true) BUILDING_BOOT_IMAGE := else ifeq ($(PRODUCT_BUILD_BOOT_IMAGE),) ifdef BOARD_BOOTIMAGE_PARTITION_SIZE BUILDING_BOOT_IMAGE := true endif else ifeq ($(PRODUCT_BUILD_BOOT_IMAGE),true) BUILDING_BOOT_IMAGE := true endif .KATI_READONLY := BUILDING_BOOT_IMAGE # Are we building a recovery image BUILDING_RECOVERY_IMAGE := ifeq ($(BOARD_USES_RECOVERY_AS_BOOT),true) BUILDING_RECOVERY_IMAGE := true else ifeq ($(PRODUCT_BUILD_RECOVERY_IMAGE),) ifdef BOARD_RECOVERYIMAGE_PARTITION_SIZE ifeq (,$(filter true, $(TARGET_NO_KERNEL) $(TARGET_NO_RECOVERY))) BUILDING_RECOVERY_IMAGE := true endif endif else ifeq ($(PRODUCT_BUILD_RECOVERY_IMAGE),true) BUILDING_RECOVERY_IMAGE := true endif .KATI_READONLY := BUILDING_RECOVERY_IMAGE # Are we building a ramdisk image BUILDING_RAMDISK_IMAGE := true Loading
core/product.mk +3 −0 Original line number Diff line number Diff line Loading @@ -355,9 +355,12 @@ _product_single_value_vars += PRODUCT_BUILD_ODM_IMAGE _product_single_value_vars += PRODUCT_BUILD_CACHE_IMAGE _product_single_value_vars += PRODUCT_BUILD_RAMDISK_IMAGE _product_single_value_vars += PRODUCT_BUILD_USERDATA_IMAGE _product_single_value_vars += PRODUCT_BUILD_RECOVERY_IMAGE _product_single_value_vars += PRODUCT_BUILD_BOOT_IMAGE _product_list_vars += PRODUCT_UPDATABLE_BOOT_MODULES _product_list_vars += PRODUCT_UPDATABLE_BOOT_LOCATIONS # Whether the product would like to check prebuilt ELF files. _product_single_value_vars += PRODUCT_CHECK_ELF_FILES Loading
core/product_config.mk +3 −1 Original line number Diff line number Diff line Loading @@ -405,7 +405,9 @@ $(foreach image, \ ODM \ CACHE \ RAMDISK \ USERDATA, \ USERDATA \ BOOT \ RECOVERY, \ $(eval $(call product-build-image-config,$(image)))) product-build-image-config := Loading
tools/releasetools/add_img_to_target_files.py +14 −11 Original line number Diff line number Diff line Loading @@ -730,6 +730,7 @@ def AddImagesToTargetFiles(filename): OPTIONS.info_dict = common.LoadInfoDict(OPTIONS.input_tmp, repacking=True) has_recovery = OPTIONS.info_dict.get("no_recovery") != "true" has_boot = OPTIONS.info_dict.get("no_boot") != "true" # {vendor,odm,product,product_services}.img are unlike system.img or # system_other.img. Because it could be built from source, or dropped into Loading Loading @@ -777,6 +778,8 @@ def AddImagesToTargetFiles(filename): def banner(s): logger.info("\n\n++++ " + s + " ++++\n\n") boot_image = None if has_boot: banner("boot") # common.GetBootableImage() returns the image directly if present. boot_image = common.GetBootableImage( Loading