From 612e2cd0e8c79bc6ab46d13cd96c01d1be382139 Mon Sep 17 00:00:00 2001 From: Bjorn Andersson Date: Sun, 25 Nov 2012 16:53:44 -0800 Subject: [PATCH] mkbootimg: Support custom mkbootimg implementation Support using custom mkbootimg to allow boards to specify custom boot image formats. Also export this as the environment variable MKBOOTIMG to the *_from_target_files releasetools scripts. Change-Id: I2084273b1175de097fb7da5c4f2264ea8014d74f Signed-off-by: Bjorn Andersson --- core/Makefile | 6 ++++-- core/config.mk | 4 ++++ tools/releasetools/common.py | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/core/Makefile b/core/Makefile index eb02ff4544..c5509c601a 100644 --- a/core/Makefile +++ b/core/Makefile @@ -1267,7 +1267,8 @@ $(INTERNAL_OTA_PACKAGE_TARGET): KEY_CERT_PAIR := $(DEFAULT_KEY_CERT_PAIR) $(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) $(DISTTOOLS) @echo "Package OTA: $@" - $(hide) ./build/tools/releasetools/ota_from_target_files -v \ + $(hide) MKBOOTIMG=$(BOARD_CUSTOM_MKBOOTIMG) \ + ./build/tools/releasetools/ota_from_target_files -v \ -p $(HOST_OUT) \ -k $(KEY_CERT_PAIR) \ $(BUILT_TARGET_FILES_PACKAGE) $@ @@ -1295,7 +1296,8 @@ endif $(INTERNAL_UPDATE_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) $(DISTTOOLS) @echo "Package: $@" - $(hide) ./build/tools/releasetools/img_from_target_files -v \ + $(hide) MKBOOTIMG=$(BOARD_CUSTOM_MKBOOTIMG) \ + ./build/tools/releasetools/img_from_target_files -v \ -s $(extensions) \ -p $(HOST_OUT) \ $(BUILT_TARGET_FILES_PACKAGE) $@ diff --git a/core/config.mk b/core/config.mk index 8872ea9359..21e187d67a 100644 --- a/core/config.mk +++ b/core/config.mk @@ -291,7 +291,11 @@ PROTOC := $(HOST_OUT_EXECUTABLES)/aprotoc$(HOST_EXECUTABLE_SUFFIX) SIGNAPK_JAR := $(HOST_OUT_JAVA_LIBRARIES)/signapk$(COMMON_JAVA_PACKAGE_SUFFIX) MKBOOTFS := $(HOST_OUT_EXECUTABLES)/mkbootfs$(HOST_EXECUTABLE_SUFFIX) MINIGZIP := $(HOST_OUT_EXECUTABLES)/minigzip$(HOST_EXECUTABLE_SUFFIX) +ifeq (,$(strip $(BOARD_CUSTOM_MKBOOTIMG))) MKBOOTIMG := $(HOST_OUT_EXECUTABLES)/mkbootimg$(HOST_EXECUTABLE_SUFFIX) +else +MKBOOTIMG := $(BOARD_CUSTOM_MKBOOTIMG) +endif MKYAFFS2 := $(HOST_OUT_EXECUTABLES)/mkyaffs2image$(HOST_EXECUTABLE_SUFFIX) APICHECK := $(HOST_OUT_EXECUTABLES)/apicheck$(HOST_EXECUTABLE_SUFFIX) FS_GET_STATS := $(HOST_OUT_EXECUTABLES)/fs_get_stats$(HOST_EXECUTABLE_SUFFIX) diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py index a3217dd9a3..05c2a4a912 100644 --- a/tools/releasetools/common.py +++ b/tools/releasetools/common.py @@ -287,7 +287,10 @@ def BuildBootableImage(sourcedir, fs_config_file, info_dict=None): assert p1.returncode == 0, "mkbootfs of %s ramdisk failed" % (targetname,) assert p2.returncode == 0, "minigzip of %s ramdisk failed" % (targetname,) - cmd = ["mkbootimg", "--kernel", os.path.join(sourcedir, "kernel")] + # use MKBOOTIMG from environ, or "mkbootimg" if empty or not set + mkbootimg = os.getenv('MKBOOTIMG') or "mkbootimg" + + cmd = [mkbootimg, "--kernel", os.path.join(sourcedir, "kernel")] fn = os.path.join(sourcedir, "cmdline") if os.access(fn, os.F_OK):