diff options
| author | ljzyal <ljzyal@gmail.com> | 2015-05-25 23:02:46 +0800 |
|---|---|---|
| committer | OptX <lxseibel@gmail.com> | 2015-05-28 19:18:18 +0200 |
| commit | be26bf7bf66c91f7463363c35ec881804dad0758 (patch) | |
| tree | 1ce5a1b96a9c928bb722e3961976a7b00c79e121 | |
| parent | 880ee16ab330b866c9d62de6e81f8d89fe26790b (diff) | |
Change-Id: Ie746cd88674b95f9b53b26d224cfcdd2f73002fb
| -rw-r--r-- | BoardConfig.mk | 1 | ||||
| -rw-r--r-- | mkbootimg.mk | 50 |
2 files changed, 51 insertions, 0 deletions
diff --git a/BoardConfig.mk b/BoardConfig.mk index c7043ba..3434f02 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -18,6 +18,7 @@ TARGET_OTA_ASSERT_DEVICE := klteusc,klte # Kernel +BOARD_CUSTOM_BOOTIMG_MK := device/samsung/klteusc/mkbootimg.mk TARGET_KERNEL_VARIANT_CONFIG := msm8974pro_sec_klte_usc_defconfig # Init diff --git a/mkbootimg.mk b/mkbootimg.mk new file mode 100644 index 0000000..47d8f4f --- /dev/null +++ b/mkbootimg.mk @@ -0,0 +1,50 @@ +LOCAL_PATH := $(call my-dir) + +## Don't change anything under here. The variables are named G2_whatever +## on purpose, to avoid conflicts with similarly named variables at other +## parts of the build environment + +## Imported from the original makefile... +G2_DTS_NAMES := msm8974 + +G2_DTS_FILES = $(wildcard $(TOP)/$(TARGET_KERNEL_SOURCE)/arch/arm/boot/dts/msm8974pro/msm8974pro-ac-sec-k-*.dts) +G2_DTS_FILE = $(lastword $(subst /, ,$(1))) +DTB_FILE = $(addprefix $(KERNEL_OUT)/arch/arm/boot/,$(patsubst %.dts,%.dtb,$(call G2_DTS_FILE,$(1)))) +ZIMG_FILE = $(addprefix $(KERNEL_OUT)/arch/arm/boot/,$(patsubst %.dts,%-zImage,$(call G2_DTS_FILE,$(1)))) +KERNEL_ZIMG = $(KERNEL_OUT)/arch/arm/boot/zImage + +define append-g2-dtb +mkdir -p $(KERNEL_OUT)/arch/arm/boot;\ +$(foreach G2_DTS_NAME, $(G2_DTS_NAMES), \ + $(foreach d, $(G2_DTS_FILES), \ + cat $(KERNEL_ZIMG) $(call DTB_FILE,$(d)) > $(call ZIMG_FILE,$(d));)) +endef + + +## Build and run dtbtool +DTBTOOL := $(HOST_OUT_EXECUTABLES)/dtbToolCM$(HOST_EXECUTABLE_SUFFIX) +INSTALLED_DTIMAGE_TARGET := $(PRODUCT_OUT)/dt.img + +$(INSTALLED_DTIMAGE_TARGET): $(DTBTOOL) $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr $(INSTALLED_KERNEL_TARGET) + @echo -e ${CL_CYN}"Start DT image: $@"${CL_RST} + $(call append-g2-dtb) + $(call pretty,"Target dt image: $(INSTALLED_DTIMAGE_TARGET)") + $(hide) $(DTBTOOL) -o $(INSTALLED_DTIMAGE_TARGET) -s $(BOARD_KERNEL_PAGESIZE) -p $(KERNEL_OUT)/scripts/dtc/ $(KERNEL_OUT)/arch/arm/boot/ + @echo -e ${CL_CYN}"Made DT image: $@"${CL_RST} + + +## Overload bootimg generation: Same as the original, + --dt arg +$(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES) $(INSTALLED_DTIMAGE_TARGET) + $(call pretty,"Target boot image: $@") + $(hide) $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_ARGS) $(BOARD_MKBOOTIMG_ARGS) --dt $(INSTALLED_DTIMAGE_TARGET) --output $@ + $(hide) $(call assert-max-image-size,$@,$(BOARD_BOOTIMAGE_PARTITION_SIZE),raw) + @echo -e ${CL_CYN}"Made boot image: $@"${CL_RST} + +## Overload recoveryimg generation: Same as the original, + --dt arg +$(INSTALLED_RECOVERYIMAGE_TARGET): $(MKBOOTIMG) $(INSTALLED_DTIMAGE_TARGET) \ + $(recovery_ramdisk) \ + $(recovery_kernel) + @echo -e ${CL_CYN}"----- Making recovery image ------"${CL_RST} + $(hide) $(MKBOOTIMG) $(INTERNAL_RECOVERYIMAGE_ARGS) $(BOARD_MKBOOTIMG_ARGS) --dt $(INSTALLED_DTIMAGE_TARGET) --output $@ + $(hide) $(call assert-max-image-size,$@,$(BOARD_RECOVERYIMAGE_PARTITION_SIZE),raw) + @echo -e ${CL_CYN}"Made recovery image: $@"${CL_RST} |
