diff --git a/core/Makefile b/core/Makefile index af9e93507c..4a8ec5845b 100644 --- a/core/Makefile +++ b/core/Makefile @@ -833,6 +833,16 @@ $(INSTALLED_FILES_FILE_ROOT) : $(INTERNAL_ROOT_FILES) $(FILESLIST) $(call dist-for-goals, sdk win_sdk sdk_addon, $(INSTALLED_FILES_FILE_ROOT)) +#------------------------------------------------------------------ +# dtb + +ifdef BOARD_PREBUILT_DTBIMAGE_DIR +INSTALLED_DTBIMAGE_TARGET := $(PRODUCT_OUT)/dtb.img +$(INSTALLED_DTBIMAGE_TARGET) : $(addprefix $(BOARD_PREBUILT_DTBIMAGE_DIR)/,\ + $(call find-files-in-subdirs,$(BOARD_PREBUILT_DTBIMAGE_DIR),*.dtb,.)) + cat $^ > $@ +endif + # ----------------------------------------------------------------- # the ramdisk ifdef BUILDING_RAMDISK_IMAGE @@ -877,6 +887,10 @@ INTERNAL_BOOTIMAGE_ARGS := \ $(addprefix --second ,$(INSTALLED_2NDBOOTLOADER_TARGET)) \ --kernel $(INSTALLED_KERNEL_TARGET) +ifdef BOARD_INCLUDE_DTB_IN_BOOTIMG + INTERNAL_BOOTIMAGE_ARGS += --dtb $(INSTALLED_DTBIMAGE_TARGET) +endif + ifneq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE),true) INTERNAL_BOOTIMAGE_ARGS += --ramdisk $(INSTALLED_RAMDISK_TARGET) endif @@ -1777,6 +1791,9 @@ endif ifdef BOARD_INCLUDE_RECOVERY_ACPIO INTERNAL_RECOVERYIMAGE_ARGS += --recovery_acpio $(BOARD_RECOVERY_ACPIO) endif +ifdef BOARD_INCLUDE_DTB_IN_BOOTIMG + INTERNAL_RECOVERYIMAGE_ARGS += --dtb $(INSTALLED_DTBIMAGE_TARGET) +endif # Keys authorized to sign OTA packages this build will accept. The # build always uses dev-keys for this; release packaging tools will @@ -1866,6 +1883,9 @@ endif ifdef BOARD_INCLUDE_RECOVERY_ACPIO $(INSTALLED_BOOTIMAGE_TARGET): $(BOARD_RECOVERY_ACPIO) endif +ifdef BOARD_INCLUDE_DTB_IN_BOOTIMG +$(INSTALLED_BOOTIMAGE_TARGET): $(INSTALLED_DTBIMAGE_TARGET) +endif $(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTFS) $(MKBOOTIMG) $(MINIGZIP) \ $(INTERNAL_ROOT_FILES) \ @@ -1889,6 +1909,9 @@ endif ifdef BOARD_INCLUDE_RECOVERY_ACPIO $(INSTALLED_RECOVERYIMAGE_TARGET): $(BOARD_RECOVERY_ACPIO) endif +ifdef BOARD_INCLUDE_DTB_IN_BOOTIMG +$(INSTALLED_RECOVERYIMAGE_TARGET): $(INSTALLED_DTBIMAGE_TARGET) +endif $(INSTALLED_RECOVERYIMAGE_TARGET): $(MKBOOTFS) $(MKBOOTIMG) $(MINIGZIP) \ $(INTERNAL_ROOT_FILES) \ @@ -3500,6 +3523,9 @@ endif ifdef BOARD_INCLUDE_RECOVERY_ACPIO $(hide) cp $(BOARD_RECOVERY_ACPIO) $(zip_root)/$(PRIVATE_RECOVERY_OUT)/recovery_acpio endif +ifdef BOARD_INCLUDE_DTB_IN_BOOTIMG + $(hide) cp $(INSTALLED_DTBIMAGE_TARGET) $(zip_root)/$(PRIVATE_RECOVERY_OUT)/dtb +endif ifdef INTERNAL_KERNEL_CMDLINE $(hide) echo "$(INTERNAL_KERNEL_CMDLINE)" > $(zip_root)/$(PRIVATE_RECOVERY_OUT)/cmdline endif @@ -3527,6 +3553,9 @@ endif ifdef INSTALLED_2NDBOOTLOADER_TARGET $(hide) cp $(INSTALLED_2NDBOOTLOADER_TARGET) $(zip_root)/BOOT/second endif +ifdef INSTALLED_DTBIMAGE_TARGET + $(hide) cp $(INSTALLED_DTBIMAGE_TARGET) $(zip_root)/BOOT/dtb +endif ifdef INTERNAL_KERNEL_CMDLINE $(hide) echo "$(INTERNAL_KERNEL_CMDLINE)" > $(zip_root)/BOOT/cmdline endif diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py index be2c1084b4..3334ce839a 100644 --- a/tools/releasetools/common.py +++ b/tools/releasetools/common.py @@ -588,6 +588,11 @@ def _BuildBootableImage(sourcedir, fs_config_file, info_dict=None, cmd.append("--second") cmd.append(fn) + fn = os.path.join(sourcedir, "dtb") + if os.access(fn, os.F_OK): + cmd.append("--dtb") + cmd.append(fn) + fn = os.path.join(sourcedir, "cmdline") if os.access(fn, os.F_OK): cmd.append("--cmdline")