Refactor build logic of boot-debug & vendor_boot-debug
Add PRODUCT variables PRODUCT_BUILD_DEBUG_BOOT_IMAGE PRODUCT_BUILD_DEBUG_VENDOR_BOOT_IMAGE as toggles to enable/disable building boot-debug & vendor_boot-debug. Bug: 200945738 Test: m bootimage_debug Change-Id: Ic032b8594f776f911d7b6345a97d64fed930d890
This commit is contained in:
parent
ad48e9cb87
commit
4d7c613c58
3 changed files with 98 additions and 27 deletions
|
@ -2284,14 +2284,14 @@ ifneq ($(BOARD_NAND_SPARE_SIZE),)
|
|||
$(error MTD device is no longer supported and thus BOARD_NAND_SPARE_SIZE is deprecated.)
|
||||
endif
|
||||
|
||||
ifneq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE),true)
|
||||
|
||||
# -----------------------------------------------------------------
|
||||
# the debug ramdisk, which is the original ramdisk plus additional
|
||||
# files: force_debuggable, adb_debug.prop and userdebug sepolicy.
|
||||
# When /force_debuggable is present, /init will load userdebug sepolicy
|
||||
# and property files to allow adb root, if the device is unlocked.
|
||||
ifneq ($(BUILDING_DEBUG_BOOT_IMAGE)$(BUILDING_DEBUG_VENDOR_BOOT_IMAGE),)
|
||||
|
||||
ifdef BUILDING_RAMDISK_IMAGE
|
||||
BUILT_DEBUG_RAMDISK_TARGET := $(PRODUCT_OUT)/ramdisk-debug.img
|
||||
INSTALLED_DEBUG_RAMDISK_TARGET := $(BUILT_DEBUG_RAMDISK_TARGET)
|
||||
|
||||
|
@ -2348,16 +2348,15 @@ ramdisk_debug-nodeps: $(MKBOOTFS) | $(COMPRESSION_COMMAND_DEPS)
|
|||
touch $(TARGET_DEBUG_RAMDISK_OUT)/force_debuggable
|
||||
$(MKBOOTFS) -d $(TARGET_OUT) $(TARGET_DEBUG_RAMDISK_OUT) $(PRIVATE_ADDITIONAL_DIR) | $(COMPRESSION_COMMAND) > $(INSTALLED_DEBUG_RAMDISK_TARGET)
|
||||
|
||||
endif # BUILDING_RAMDISK_IMAGE
|
||||
endif # BUILDING_DEBUG_BOOT_IMAGE || BUILDING_DEBUG_VENDOR_BOOT_IMAGE
|
||||
|
||||
# -----------------------------------------------------------------
|
||||
# the boot-debug.img, which is the kernel plus ramdisk-debug.img
|
||||
#
|
||||
# Note: it's intentional to skip signing for boot-debug.img, because it
|
||||
# can only be used if the device is unlocked with verification error.
|
||||
ifneq ($(BUILDING_VENDOR_BOOT_IMAGE),true)
|
||||
ifneq ($(INSTALLED_BOOTIMAGE_TARGET),)
|
||||
ifneq ($(strip $(TARGET_NO_KERNEL)),true)
|
||||
ifdef BUILDING_DEBUG_BOOT_IMAGE
|
||||
|
||||
ifneq ($(strip $(BOARD_KERNEL_BINARIES)),)
|
||||
INSTALLED_DEBUG_BOOTIMAGE_TARGET := $(foreach k,$(subst kernel,boot-debug,$(BOARD_KERNEL_BINARIES)), \
|
||||
$(PRODUCT_OUT)/$(k).img)
|
||||
|
@ -2412,16 +2411,13 @@ bootimage_debug-nodeps: $(MKBOOTIMG) $(BOARD_GKI_SIGNING_KEY_PATH) $(AVBTOOL)
|
|||
echo "make $@: ignoring dependencies"
|
||||
$(foreach b,$(INSTALLED_DEBUG_BOOTIMAGE_TARGET),$(call build-debug-bootimage-target,$b))
|
||||
|
||||
endif # TARGET_NO_KERNEL
|
||||
endif # INSTALLED_BOOTIMAGE_TARGET
|
||||
endif # BUILDING_VENDOR_BOOT_IMAGE is not true
|
||||
endif # BUILDING_DEBUG_BOOT_IMAGE
|
||||
|
||||
ifeq ($(BUILDING_VENDOR_BOOT_IMAGE),true)
|
||||
ifeq ($(BUILDING_RAMDISK_IMAGE),true)
|
||||
# -----------------------------------------------------------------
|
||||
# vendor debug ramdisk
|
||||
# Combines vendor ramdisk files and debug ramdisk files to build the vendor debug ramdisk.
|
||||
#
|
||||
ifdef BUILDING_DEBUG_VENDOR_BOOT_IMAGE
|
||||
|
||||
INTERNAL_VENDOR_DEBUG_RAMDISK_FILES := $(filter $(TARGET_VENDOR_DEBUG_RAMDISK_OUT)/%, \
|
||||
$(ALL_GENERATED_SOURCES) \
|
||||
$(ALL_DEFAULT_INSTALLED_MODULES))
|
||||
|
@ -2493,14 +2489,13 @@ $(INSTALLED_VENDOR_DEBUG_BOOTIMAGE_TARGET): $(INTERNAL_VENDOR_RAMDISK_FRAGMENT_T
|
|||
$(call assert-max-image-size,$@,$(BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE))
|
||||
$(if $(BOARD_AVB_VENDOR_BOOT_KEY_PATH),$(call test-key-sign-vendor-bootimage,$@))
|
||||
|
||||
endif # BUILDING_RAMDISK_IMAGE
|
||||
endif # BUILDING_VENDOR_BOOT_IMAGE
|
||||
endif # BUILDING_DEBUG_VENDOR_BOOT_IMAGE
|
||||
|
||||
# -----------------------------------------------------------------
|
||||
# The test harness ramdisk, which is based off debug_ramdisk, plus a
|
||||
# few additional test-harness-specific properties in adb_debug.prop.
|
||||
ifneq ($(BUILDING_DEBUG_BOOT_IMAGE)$(BUILDING_DEBUG_VENDOR_BOOT_IMAGE),)
|
||||
|
||||
ifdef BUILDING_RAMDISK_IMAGE
|
||||
BUILT_TEST_HARNESS_RAMDISK_TARGET := $(PRODUCT_OUT)/ramdisk-test-harness.img
|
||||
INSTALLED_TEST_HARNESS_RAMDISK_TARGET := $(BUILT_TEST_HARNESS_RAMDISK_TARGET)
|
||||
|
||||
|
@ -2553,16 +2548,14 @@ ramdisk_test_harness-nodeps: $(MKBOOTFS) | $(COMPRESSION_COMMAND_DEPS)
|
|||
$(call append-test-harness-props,$(ADDITIONAL_TEST_HARNESS_PROPERTIES),$(TEST_HARNESS_PROP_TARGET))
|
||||
$(MKBOOTFS) -d $(TARGET_OUT) $(TARGET_TEST_HARNESS_RAMDISK_OUT) $(PRIVATE_ADDITIONAL_DIR) | $(COMPRESSION_COMMAND) > $(INSTALLED_TEST_HARNESS_RAMDISK_TARGET)
|
||||
|
||||
endif # BUILDING_RAMDISK_IMAGE
|
||||
endif # BUILDING_DEBUG_BOOT_IMAGE || BUILDING_DEBUG_VENDOR_BOOT_IMAGE
|
||||
|
||||
# -----------------------------------------------------------------
|
||||
# the boot-test-harness.img, which is the kernel plus ramdisk-test-harness.img
|
||||
#
|
||||
# Note: it's intentional to skip signing for boot-test-harness.img, because it
|
||||
# can only be used if the device is unlocked with verification error.
|
||||
ifneq ($(BUILDING_VENDOR_BOOT_IMAGE),true)
|
||||
ifneq ($(INSTALLED_BOOTIMAGE_TARGET),)
|
||||
ifneq ($(strip $(TARGET_NO_KERNEL)),true)
|
||||
ifdef BUILDING_DEBUG_BOOT_IMAGE
|
||||
|
||||
ifneq ($(strip $(BOARD_KERNEL_BINARIES)),)
|
||||
INSTALLED_TEST_HARNESS_BOOTIMAGE_TARGET := $(foreach k,$(subst kernel,boot-test-harness,$(BOARD_KERNEL_BINARIES)), \
|
||||
|
@ -2601,16 +2594,12 @@ bootimage_test_harness-nodeps: $(MKBOOTIMG) $(BOARD_GKI_SIGNING_KEY_PATH) $(AVBT
|
|||
echo "make $@: ignoring dependencies"
|
||||
$(foreach b,$(INSTALLED_TEST_HARNESS_BOOTIMAGE_TARGET),$(call build-boot-test-harness-target,$b))
|
||||
|
||||
endif # TARGET_NO_KERNEL
|
||||
endif # INSTALLED_BOOTIMAGE_TARGET
|
||||
endif # BUILDING_VENDOR_BOOT_IMAGE is not true
|
||||
endif # BOARD_BUILD_SYSTEM_ROOT_IMAGE is not true
|
||||
endif # BUILDING_DEBUG_BOOT_IMAGE
|
||||
|
||||
ifeq ($(BUILDING_VENDOR_BOOT_IMAGE),true)
|
||||
ifeq ($(BUILDING_RAMDISK_IMAGE),true)
|
||||
# -----------------------------------------------------------------
|
||||
# vendor test harness ramdisk, which is a vendor ramdisk combined with
|
||||
# a test harness ramdisk.
|
||||
ifdef BUILDING_DEBUG_VENDOR_BOOT_IMAGE
|
||||
|
||||
INTERNAL_VENDOR_TEST_HARNESS_RAMDISK_TARGET := $(call intermediates-dir-for,PACKAGING,vendor_boot-test-harness)/vendor_ramdisk-test-harness.cpio$(RAMDISK_EXT)
|
||||
|
||||
|
@ -2645,8 +2634,8 @@ $(INSTALLED_VENDOR_TEST_HARNESS_BOOTIMAGE_TARGET): $(INTERNAL_VENDOR_RAMDISK_FRA
|
|||
$(call assert-max-image-size,$@,$(BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE))
|
||||
$(if $(BOARD_AVB_VENDOR_BOOT_KEY_PATH),$(call test-key-sign-vendor-bootimage,$@))
|
||||
|
||||
endif # BUILDING_RAMDISK_IMAGE
|
||||
endif # BUILDING_VENDOR_BOOT_IMAGE
|
||||
endif # BUILDING_DEBUG_VENDOR_BOOT_IMAGE
|
||||
|
||||
|
||||
# Creates a compatibility symlink between two partitions, e.g. /system/vendor to /vendor
|
||||
# $1: from location (e.g $(TARGET_OUT)/vendor)
|
||||
|
|
|
@ -439,6 +439,86 @@ else ifeq ($(PRODUCT_BUILD_RAMDISK_IMAGE),false)
|
|||
endif
|
||||
.KATI_READONLY := BUILDING_RAMDISK_IMAGE
|
||||
|
||||
# Are we building a debug vendor_boot image
|
||||
BUILDING_DEBUG_VENDOR_BOOT_IMAGE :=
|
||||
# Can't build vendor_boot-debug.img if BOARD_BUILD_SYSTEM_ROOT_IMAGE is true,
|
||||
# because building debug vendor_boot image requires a ramdisk.
|
||||
ifeq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE),true)
|
||||
ifeq ($(PRODUCT_BUILD_DEBUG_VENDOR_BOOT_IMAGE),true)
|
||||
$(warning PRODUCT_BUILD_DEBUG_VENDOR_BOOT_IMAGE is true, but so is BOARD_BUILD_SYSTEM_ROOT_IMAGE. \
|
||||
Skip building the debug vendor_boot image.)
|
||||
endif
|
||||
# Can't build vendor_boot-debug.img if we're not building a ramdisk.
|
||||
else ifndef BUILDING_RAMDISK_IMAGE
|
||||
ifeq ($(PRODUCT_BUILD_DEBUG_VENDOR_BOOT_IMAGE),true)
|
||||
$(warning PRODUCT_BUILD_DEBUG_VENDOR_BOOT_IMAGE is true, but we're not building a ramdisk image. \
|
||||
Skip building the debug vendor_boot image.)
|
||||
endif
|
||||
# Can't build vendor_boot-debug.img if we're not building a vendor_boot.img.
|
||||
else ifndef BUILDING_VENDOR_BOOT_IMAGE
|
||||
ifeq ($(PRODUCT_BUILD_DEBUG_VENDOR_BOOT_IMAGE),true)
|
||||
$(warning PRODUCT_BUILD_DEBUG_VENDOR_BOOT_IMAGE is true, but we're not building a vendor_boot image. \
|
||||
Skip building the debug vendor_boot image.)
|
||||
endif
|
||||
else
|
||||
ifeq ($(PRODUCT_BUILD_DEBUG_VENDOR_BOOT_IMAGE),)
|
||||
BUILDING_DEBUG_VENDOR_BOOT_IMAGE := true
|
||||
else ifeq ($(PRODUCT_BUILD_DEBUG_VENDOR_BOOT_IMAGE),true)
|
||||
BUILDING_DEBUG_VENDOR_BOOT_IMAGE := true
|
||||
endif
|
||||
endif
|
||||
.KATI_READONLY := BUILDING_DEBUG_VENDOR_BOOT_IMAGE
|
||||
|
||||
_has_boot_img_artifact :=
|
||||
ifneq ($(strip $(TARGET_NO_KERNEL)),true)
|
||||
ifdef BUILDING_BOOT_IMAGE
|
||||
_has_boot_img_artifact := true
|
||||
endif
|
||||
# BUILDING_RECOVERY_IMAGE && BOARD_USES_RECOVERY_AS_BOOT implies that
|
||||
# recovery is being built with the file name *boot.img*, which still counts
|
||||
# as "building boot.img".
|
||||
ifdef BUILDING_RECOVERY_IMAGE
|
||||
ifeq ($(BOARD_USES_RECOVERY_AS_BOOT),true)
|
||||
_has_boot_img_artifact := true
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# Are we building a debug boot image
|
||||
BUILDING_DEBUG_BOOT_IMAGE :=
|
||||
# Can't build boot-debug.img if BOARD_BUILD_SYSTEM_ROOT_IMAGE is true,
|
||||
# because building debug boot image requires a ramdisk.
|
||||
ifeq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE),true)
|
||||
ifeq ($(PRODUCT_BUILD_DEBUG_BOOT_IMAGE),true)
|
||||
$(warning PRODUCT_BUILD_DEBUG_BOOT_IMAGE is true, but so is BOARD_BUILD_SYSTEM_ROOT_IMAGE. \
|
||||
Skip building the debug boot image.)
|
||||
endif
|
||||
# Can't build boot-debug.img if we're not building a ramdisk.
|
||||
else ifndef BUILDING_RAMDISK_IMAGE
|
||||
ifeq ($(PRODUCT_BUILD_DEBUG_BOOT_IMAGE),true)
|
||||
$(warning PRODUCT_BUILD_DEBUG_BOOT_IMAGE is true, but we're not building a ramdisk image. \
|
||||
Skip building the debug boot image.)
|
||||
endif
|
||||
# Can't build boot-debug.img if we're not building a boot.img.
|
||||
else ifndef _has_boot_img_artifact
|
||||
ifeq ($(PRODUCT_BUILD_DEBUG_BOOT_IMAGE),true)
|
||||
$(warning PRODUCT_BUILD_DEBUG_BOOT_IMAGE is true, but we're not building a boot image. \
|
||||
Skip building the debug boot image.)
|
||||
endif
|
||||
else
|
||||
ifeq ($(PRODUCT_BUILD_DEBUG_BOOT_IMAGE),)
|
||||
BUILDING_DEBUG_BOOT_IMAGE := true
|
||||
# Don't build boot-debug.img if we're already building vendor_boot-debug.img.
|
||||
ifdef BUILDING_DEBUG_VENDOR_BOOT_IMAGE
|
||||
BUILDING_DEBUG_BOOT_IMAGE :=
|
||||
endif
|
||||
else ifeq ($(PRODUCT_BUILD_DEBUG_BOOT_IMAGE),true)
|
||||
BUILDING_DEBUG_BOOT_IMAGE := true
|
||||
endif
|
||||
endif
|
||||
.KATI_READONLY := BUILDING_DEBUG_BOOT_IMAGE
|
||||
_has_boot_img_artifact :=
|
||||
|
||||
# Are we building a userdata image
|
||||
BUILDING_USERDATA_IMAGE :=
|
||||
ifeq ($(PRODUCT_BUILD_USERDATA_IMAGE),)
|
||||
|
|
|
@ -386,7 +386,9 @@ _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_single_value_vars += PRODUCT_BUILD_DEBUG_BOOT_IMAGE
|
||||
_product_single_value_vars += PRODUCT_BUILD_VENDOR_BOOT_IMAGE
|
||||
_product_single_value_vars += PRODUCT_BUILD_DEBUG_VENDOR_BOOT_IMAGE
|
||||
_product_single_value_vars += PRODUCT_BUILD_VBMETA_IMAGE
|
||||
_product_single_value_vars += PRODUCT_BUILD_SUPER_EMPTY_IMAGE
|
||||
|
||||
|
|
Loading…
Reference in a new issue