Merge "Product-configurable sparse ext images."

This commit is contained in:
Jean-Baptiste Queru
2010-12-28 13:43:32 -08:00
committed by Android Code Review
3 changed files with 26 additions and 12 deletions

View File

@@ -566,8 +566,12 @@ endif
endif endif
endif endif
ifneq (true,$(TARGET_USERIMAGES_SPARSE_EXT_DISABLED))
INTERNAL_USERIMAGES_SPARSE_EXT_FLAG := -s
endif
ifeq ($(INTERNAL_USERIMAGES_USE_EXT),true) ifeq ($(INTERNAL_USERIMAGES_USE_EXT),true)
INTERNAL_USERIMAGES_DEPS := $(MKEXT2USERIMG) $(MAKE_EXT4FS) INTERNAL_USERIMAGES_DEPS := $(MKEXTUSERIMG) $(MAKE_EXT4FS)
INTERNAL_USERIMAGES_BINARY_PATHS := $(sort $(dir $(INTERNAL_USERIMAGES_DEPS))) INTERNAL_USERIMAGES_BINARY_PATHS := $(sort $(dir $(INTERNAL_USERIMAGES_DEPS)))
# $(1): src directory # $(1): src directory
@@ -577,8 +581,8 @@ INTERNAL_USERIMAGES_BINARY_PATHS := $(sort $(dir $(INTERNAL_USERIMAGES_DEPS)))
# $(5): size of the partition # $(5): size of the partition
define build-userimage-ext-target define build-userimage-ext-target
@mkdir -p $(dir $(2)) @mkdir -p $(dir $(2))
$(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$(PATH) \ $(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$(PATH) \
$(MKEXT2USERIMG) $(1) $(2) $(4) $(3) $(5) $(MKEXTUSERIMG) $(INTERNAL_USERIMAGES_SPARSE_EXT_FLAG) $(1) $(2) $(4) $(3) $(5)
endef endef
else else
INTERNAL_USERIMAGES_DEPS := $(MKYAFFS2) INTERNAL_USERIMAGES_DEPS := $(MKYAFFS2)
@@ -1043,6 +1047,9 @@ endif
$(hide) echo "tool_extensions=$(tool_extensions)" >> $(zip_root)/META/misc_info.txt $(hide) echo "tool_extensions=$(tool_extensions)" >> $(zip_root)/META/misc_info.txt
ifdef mkyaffs2_extra_flags ifdef mkyaffs2_extra_flags
$(hide) echo "mkyaffs2_extra_flags=$(mkyaffs2_extra_flags)" >> $(zip_root)/META/misc_info.txt $(hide) echo "mkyaffs2_extra_flags=$(mkyaffs2_extra_flags)" >> $(zip_root)/META/misc_info.txt
endif
ifdef INTERNAL_USERIMAGES_SPARSE_EXT_FLAG
$(hide) echo "extfs_sparse_flag=$(INTERNAL_USERIMAGES_SPARSE_EXT_FLAG)" >> $(zip_root)/META/misc_info.txt
endif endif
@# Zip everything up, preserving symlinks @# Zip everything up, preserving symlinks
$(hide) (cd $(zip_root) && zip -qry ../$(notdir $@) .) $(hide) (cd $(zip_root) && zip -qry ../$(notdir $@) .)

View File

@@ -210,7 +210,7 @@ APICHECK := $(HOST_OUT_EXECUTABLES)/apicheck$(HOST_EXECUTABLE_SUFFIX)
FS_GET_STATS := $(HOST_OUT_EXECUTABLES)/fs_get_stats$(HOST_EXECUTABLE_SUFFIX) FS_GET_STATS := $(HOST_OUT_EXECUTABLES)/fs_get_stats$(HOST_EXECUTABLE_SUFFIX)
MKEXT2IMG := $(HOST_OUT_EXECUTABLES)/genext2fs$(HOST_EXECUTABLE_SUFFIX) MKEXT2IMG := $(HOST_OUT_EXECUTABLES)/genext2fs$(HOST_EXECUTABLE_SUFFIX)
MAKE_EXT4FS := $(HOST_OUT_EXECUTABLES)/make_ext4fs$(HOST_EXECUTABLE_SUFFIX) MAKE_EXT4FS := $(HOST_OUT_EXECUTABLES)/make_ext4fs$(HOST_EXECUTABLE_SUFFIX)
MKEXT2USERIMG := $(HOST_OUT_EXECUTABLES)/mkuserimg.sh MKEXTUSERIMG := $(HOST_OUT_EXECUTABLES)/mkuserimg.sh
MKEXT2BOOTIMG := external/genext2fs/mkbootimg_ext2.sh MKEXT2BOOTIMG := external/genext2fs/mkbootimg_ext2.sh
MKTARBALL := build/tools/mktarball.sh MKTARBALL := build/tools/mktarball.sh
TUNE2FS := tune2fs TUNE2FS := tune2fs

View File

@@ -61,10 +61,13 @@ def AddUserdata(output_zip):
img = tempfile.NamedTemporaryFile() img = tempfile.NamedTemporaryFile()
build_command = [] build_command = []
if OPTIONS.info_dict["fstab"]["/data"].fs_type.startswith("ext"): fstab = OPTIONS.info_dict["fstab"]
build_command = ["mkuserimg.sh", if fstab and fstab["/data"].fs_type.startswith("ext"):
user_dir, img.name, build_command = ["mkuserimg.sh"]
OPTIONS.info_dict["fstab"]["/data"].fs_type, "data"] if "extfs_sparse_flag" in OPTIONS.info_dict:
build_command.append(OPTIONS.info_dict["extfs_sparse_flag"])
build_command.extend([user_dir, img.name,
fstab["/data"].fs_type, "data"])
if "userdata_size" in OPTIONS.info_dict: if "userdata_size" in OPTIONS.info_dict:
build_command.append(str(OPTIONS.info_dict["userdata_size"])) build_command.append(str(OPTIONS.info_dict["userdata_size"]))
else: else:
@@ -109,10 +112,14 @@ def AddSystem(output_zip):
pass pass
build_command = [] build_command = []
if OPTIONS.info_dict["fstab"]["/system"].fs_type.startswith("ext"): fstab = OPTIONS.info_dict["fstab"]
build_command = ["mkuserimg.sh", if fstab and fstab["/system"].fs_type.startswith("ext"):
os.path.join(OPTIONS.input_tmp, "system"), img.name,
OPTIONS.info_dict["fstab"]["/system"].fs_type, "system"] build_command = ["mkuserimg.sh"]
if "extfs_sparse_flag" in OPTIONS.info_dict:
build_command.append(OPTIONS.info_dict["extfs_sparse_flag"])
build_command.extend([os.path.join(OPTIONS.input_tmp, "system"), img.name,
fstab["/system"].fs_type, "system"])
if "system_size" in OPTIONS.info_dict: if "system_size" in OPTIONS.info_dict:
build_command.append(str(OPTIONS.info_dict["system_size"])) build_command.append(str(OPTIONS.info_dict["system_size"]))
else: else: