From 0c4a352409a30e4435d0854ff49f875d0bedeee0 Mon Sep 17 00:00:00 2001 From: Ram Muthiah Date: Thu, 27 Aug 2020 00:54:13 +0000 Subject: [PATCH] Revert "Revert "Add prebuilt bootloader var and add bootloader t..." Revert submission 1411608-revert-1402265-cf-x86-bootloader-XGKLNEQAPF Reason for revert: Breakage originally caused by change was fixed. Refer to tracking bug for details. Reverted Changes: I89e95d4a6:Revert "Add prebuilt bootloader var and add bootlo... I8fe199351:Revert "Added bootloader binary to cf x86 based ta... Bug: 166380489 Bug: 164917252 Test: local build and Treehugger build Change-Id: Ia895aedd77f2ec825aefecaf74c6dfc1ce631c93 --- core/Makefile | 15 +++++++++++++++ core/board_config.mk | 1 + tools/releasetools/img_from_target_files.py | 8 ++++++-- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/core/Makefile b/core/Makefile index 92723d3277..d84f8c004e 100644 --- a/core/Makefile +++ b/core/Makefile @@ -584,6 +584,10 @@ ALL_DEFAULT_INSTALLED_MODULES += $(event_log_tags_file) # ################################################################# ifneq ($(strip $(TARGET_NO_BOOTLOADER)),true) INSTALLED_BOOTLOADER_MODULE := $(PRODUCT_OUT)/bootloader + ifdef BOARD_PREBUILT_BOOTLOADER + $(eval $(call copy-one-file,$(BOARD_PREBUILT_BOOTLOADER),$(INSTALLED_BOOTLOADER_MODULE))) + $(call dist-for-goals,dist_files,$(INSTALLED_BOOTLOADER_MODULE)) + endif # BOARD_PREBUILT_BOOTLOADER ifeq ($(strip $(TARGET_BOOTLOADER_IS_2ND)),true) INSTALLED_2NDBOOTLOADER_TARGET := $(PRODUCT_OUT)/2ndbootloader else @@ -4138,6 +4142,9 @@ endif ifdef DEVICE_MANIFEST_FILE $(hide) echo "vintf_include_empty_vendor_sku=true" >> $@ endif +ifeq ($(BOARD_BOOTLOADER_IN_UPDATE_PACKAGE),true) + $(hide) echo "bootloader_in_update_package=true" >> $@ +endif .PHONY: misc_info misc_info: $(INSTALLED_MISC_INFO_TARGET) @@ -4294,6 +4301,10 @@ MK_VBMETA_BOOT_KERNEL_CMDLINE_SH := device/generic/goldfish/tools/mk_vbmeta_boot $(BUILT_TARGET_FILES_PACKAGE): $(MK_VBMETA_BOOT_KERNEL_CMDLINE_SH) endif +ifdef BOARD_PREBUILT_BOOTLOADER +$(BUILT_TARGET_FILES_PACKAGE): $(INSTALLED_BOOTLOADER_MODULE) +endif + # Depending on the various images guarantees that the underlying # directories are up-to-date. $(BUILT_TARGET_FILES_PACKAGE): \ @@ -4583,6 +4594,10 @@ ifdef BOARD_PREBUILT_DTBOIMAGE $(hide) mkdir -p $(zip_root)/PREBUILT_IMAGES $(hide) cp $(INSTALLED_DTBOIMAGE_TARGET) $(zip_root)/PREBUILT_IMAGES/ endif # BOARD_PREBUILT_DTBOIMAGE +ifdef BOARD_PREBUILT_BOOTLOADER + $(hide) mkdir -p $(zip_root)/IMAGES + $(hide) cp $(INSTALLED_BOOTLOADER_MODULE) $(zip_root)/IMAGES/ +endif ifneq ($(strip $(BOARD_CUSTOMIMAGES_PARTITION_LIST)),) $(hide) mkdir -p $(zip_root)/PREBUILT_IMAGES $(hide) $(foreach partition,$(BOARD_CUSTOMIMAGES_PARTITION_LIST), \ diff --git a/core/board_config.mk b/core/board_config.mk index b7d0178c0e..adef055df9 100644 --- a/core/board_config.mk +++ b/core/board_config.mk @@ -20,6 +20,7 @@ # ############################################################### _board_strip_readonly_list := \ + BOARD_BOOTLOADER_IN_UPDATE_PACKAGE \ BOARD_EGL_CFG \ BOARD_HAVE_BLUETOOTH \ BOARD_INSTALLER_CMDLINE \ diff --git a/tools/releasetools/img_from_target_files.py b/tools/releasetools/img_from_target_files.py index ab38d0d7f8..54091941ce 100755 --- a/tools/releasetools/img_from_target_files.py +++ b/tools/releasetools/img_from_target_files.py @@ -58,6 +58,7 @@ OPTIONS = common.OPTIONS OPTIONS.additional_entries = [] OPTIONS.bootable_only = False OPTIONS.put_super = None +OPTIONS.put_bootloader = None OPTIONS.dynamic_partition_list = None OPTIONS.super_device_list = None OPTIONS.retrofit_dap = None @@ -75,6 +76,7 @@ def LoadOptions(input_file): info = OPTIONS.info_dict = common.LoadInfoDict(input_zip) OPTIONS.put_super = info.get('super_image_in_update_package') == 'true' + OPTIONS.put_bootloader = info.get('bootloader_in_update_package') == 'true' OPTIONS.dynamic_partition_list = info.get('dynamic_partition_list', '').strip().split() OPTIONS.super_device_list = info.get('super_block_devices', @@ -122,9 +124,11 @@ def EntriesForUserImages(input_file): for image_path in [name for name in namelist if name.startswith('IMAGES/')]: image = os.path.basename(image_path) - if OPTIONS.bootable_only and image not in ('boot.img', 'recovery.img'): + if OPTIONS.bootable_only and image not in('boot.img', 'recovery.img', 'bootloader'): continue - if not image.endswith('.img'): + if not image.endswith('.img') and image != 'bootloader': + continue + if image == 'bootloader' and not OPTIONS.put_bootloader: continue # Filter out super_empty and the images that are already in super partition. if OPTIONS.put_super: