LOCAL_PATH := $(call my-dir) uncompressed_ramdisk := $(PRODUCT_OUT)/ramdisk.cpio $(uncompressed_ramdisk): $(INSTALLED_RAMDISK_TARGET) zcat $< > $@ INITSH := device/sony/shinano-common/combinedroot/init.sh BOOTREC_DEVICE := $(PRODUCT_OUT)/recovery/bootrec-device SOMC_BOARD = $(shell echo $(TARGET_KERNEL_CONFIG) | sed -e "s/cm_//" | sed -e "s/_defconfig//") KERNEL_CONFIG := $(KERNEL_OUT)/.config DTS_NAMES ?= msm8974 DTS_FILES = $(wildcard $(TOP)/$(KERNEL_SRC)/arch/arm/boot/dts/$(DTS_NAME)*$(SOMC_BOARD).dts) DTS_FILE = $(lastword $(subst /, ,$(1))) DTB_FILE = $(addprefix $(KERNEL_OUT)/arch/arm/boot/,$(patsubst %.dts,%.dtb,$(call DTS_FILE,$(1)))) ZIMG_FILE = $(addprefix $(KERNEL_OUT)/arch/arm/boot/,$(patsubst %.dts,%-zImage,$(call DTS_FILE,$(1)))) KERNEL_ZIMG = $(KERNEL_OUT)/arch/arm/boot/zImage DTC = $(KERNEL_OUT)/scripts/dtc/dtc define append-dtb mkdir -p $(KERNEL_OUT)/arch/arm/boot;\ $(foreach DTS_NAME, $(DTS_NAMES), \ $(foreach d, $(DTS_FILES), \ $(DTC) -p 1024 -O dtb -o $(call DTB_FILE,$(d)) $(d); \ cat $(KERNEL_ZIMG) $(call DTB_FILE,$(d)) > $(call ZIMG_FILE,$(d));)) endef DTBTOOL := $(HOST_OUT_EXECUTABLES)/dtbToolCM$(HOST_EXECUTABLE_SUFFIX) INSTALLED_DTIMAGE_TARGET := $(PRODUCT_OUT)/dt.img INSTALLED_BOOTIMAGE_TARGET := $(PRODUCT_OUT)/boot.img $(INSTALLED_BOOTIMAGE_TARGET): $(PRODUCT_OUT)/kernel $(uncompressed_ramdisk) $(recovery_uncompressed_ramdisk) $(INSTALLED_RAMDISK_TARGET) $(INITSH) $(BOOTREC_DEVICE) $(PRODUCT_OUT)/utilities/busybox $(PRODUCT_OUT)/utilities/extract_elf_ramdisk $(MKBOOTIMG) $(MINIGZIP) $(INTERNAL_BOOTIMAGE_FILES) $(DTBTOOL) $(call pretty,"Boot image: $@") $(hide) rm -fr $(PRODUCT_OUT)/combinedroot $(hide) mkdir -p $(PRODUCT_OUT)/combinedroot/sbin $(hide) mv $(PRODUCT_OUT)/root/logo.rle $(PRODUCT_OUT)/combinedroot/logo.rle $(hide) cp $(uncompressed_ramdisk) $(PRODUCT_OUT)/combinedroot/sbin/ $(hide) cp $(recovery_uncompressed_ramdisk) $(PRODUCT_OUT)/combinedroot/sbin/ $(hide) cp $(PRODUCT_OUT)/utilities/busybox $(PRODUCT_OUT)/combinedroot/sbin/ $(hide) cp $(PRODUCT_OUT)/utilities/extract_elf_ramdisk $(PRODUCT_OUT)/combinedroot/sbin/ $(hide) cp $(INITSH) $(PRODUCT_OUT)/combinedroot/sbin/init.sh $(hide) chmod 755 $(PRODUCT_OUT)/combinedroot/sbin/init.sh $(hide) ln -s sbin/init.sh $(PRODUCT_OUT)/combinedroot/init $(hide) cp $(BOOTREC_DEVICE) $(PRODUCT_OUT)/combinedroot/sbin/ $(hide) $(MKBOOTFS) $(PRODUCT_OUT)/combinedroot/ > $(PRODUCT_OUT)/combinedroot.cpio $(hide) cat $(PRODUCT_OUT)/combinedroot.cpio | gzip > $(PRODUCT_OUT)/combinedroot.fs $(call append-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/ $(hide) $(MKBOOTIMG) --kernel $(PRODUCT_OUT)/kernel --ramdisk $(PRODUCT_OUT)/combinedroot.fs --cmdline "$(BOARD_KERNEL_CMDLINE)" --base $(BOARD_KERNEL_BASE) --pagesize $(BOARD_KERNEL_PAGESIZE) --dt $(INSTALLED_DTIMAGE_TARGET) $(BOARD_MKBOOTIMG_ARGS) -o $(INSTALLED_BOOTIMAGE_TARGET) INSTALLED_RECOVERYIMAGE_TARGET := $(PRODUCT_OUT)/recovery.img $(INSTALLED_RECOVERYIMAGE_TARGET): $(MKBOOTIMG) \ $(recovery_ramdisk) \ $(recovery_kernel) @echo ----- Making recovery image ------ $(hide) $(MKBOOTIMG) --kernel $(PRODUCT_OUT)/kernel --ramdisk $(PRODUCT_OUT)/ramdisk-recovery.img --cmdline "$(BOARD_KERNEL_CMDLINE)" --base $(BOARD_KERNEL_BASE) --pagesize $(BOARD_KERNEL_PAGESIZE) $(BOARD_MKBOOTIMG_ARGS) -o $(INSTALLED_RECOVERYIMAGE_TARGET) @echo ----- Made recovery image -------- $@