Loading core/Makefile +4 −0 Original line number Diff line number Diff line Loading @@ -787,6 +787,8 @@ endif SELINUX_FC := $(TARGET_ROOT_OUT)/file_contexts.bin INTERNAL_USERIMAGES_DEPS += $(SELINUX_FC) INTERNAL_USERIMAGES_DEPS += $(BLK_ALLOC_TO_BASE_FS) # $(1): the path of the output dictionary file # $(2): additional "key=value" pairs to append to the dictionary file. define generate-userimage-prop-dictionary Loading @@ -797,6 +799,7 @@ $(if $(BOARD_SYSTEMIMAGE_JOURNAL_SIZE),$(hide) echo "system_journal_size=$(BOARD $(if $(BOARD_HAS_EXT4_RESERVED_BLOCKS),$(hide) echo "has_ext4_reserved_blocks=$(BOARD_HAS_EXT4_RESERVED_BLOCKS)" >> $(1)) $(if $(BOARD_SYSTEMIMAGE_SQUASHFS_COMPRESSOR),$(hide) echo "system_squashfs_compressor=$(BOARD_SYSTEMIMAGE_SQUASHFS_COMPRESSOR)" >> $(1)) $(if $(BOARD_SYSTEMIMAGE_SQUASHFS_COMPRESSOR_OPT),$(hide) echo "system_squashfs_compressor_opt=$(BOARD_SYSTEMIMAGE_SQUASHFS_COMPRESSOR_OPT)" >> $(1)) $(if $(INTERNAL_SYSTEM_BASE_FS_PATH),$(hide) echo "system_base_fs_file=$(INTERNAL_SYSTEM_BASE_FS_PATH)" >> $(1)) $(if $(BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE),$(hide) echo "userdata_fs_type=$(BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE)" >> $(1)) $(if $(BOARD_USERDATAIMAGE_PARTITION_SIZE),$(hide) echo "userdata_size=$(BOARD_USERDATAIMAGE_PARTITION_SIZE)" >> $(1)) $(if $(BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE),$(hide) echo "cache_fs_type=$(BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE)" >> $(1)) Loading @@ -806,6 +809,7 @@ $(if $(BOARD_VENDORIMAGE_PARTITION_SIZE),$(hide) echo "vendor_size=$(BOARD_VENDO $(if $(BOARD_VENDORIMAGE_JOURNAL_SIZE),$(hide) echo "vendor_journal_size=$(BOARD_VENDORIMAGE_JOURNAL_SIZE)" >> $(1)) $(if $(BOARD_VENDORIMAGE_SQUASHFS_COMPRESSOR),$(hide) echo "vendor_squashfs_compressor=$(BOARD_VENDORIMAGE_SQUASHFS_COMPRESSOR)" >> $(1)) $(if $(BOARD_VENDORIMAGE_SQUASHFS_COMPRESSOR_OPT),$(hide) echo "vendor_squashfs_compressor_opt=$(BOARD_VENDORIMAGE_SQUASHFS_COMPRESSOR_OPT)" >> $(1)) $(if $(INTERNAL_VENDOR_BASE_FS_PATH),$(hide) echo "vendor_base_fs_file=$(INTERNAL_VENDOR_BASE_FS_PATH)" >> $(1)) $(if $(BOARD_OEMIMAGE_PARTITION_SIZE),$(hide) echo "oem_size=$(BOARD_OEMIMAGE_PARTITION_SIZE)" >> $(1)) $(if $(BOARD_OEMIMAGE_JOURNAL_SIZE),$(hide) echo "oem_journal_size=$(BOARD_OEMIMAGE_JOURNAL_SIZE)" >> $(1)) $(if $(INTERNAL_USERIMAGES_SPARSE_EXT_FLAG),$(hide) echo "extfs_sparse_flag=$(INTERNAL_USERIMAGES_SPARSE_EXT_FLAG)" >> $(1)) Loading core/config.mk +1 −0 Original line number Diff line number Diff line Loading @@ -526,6 +526,7 @@ endif APICHECK := $(HOST_OUT_EXECUTABLES)/apicheck$(HOST_EXECUTABLE_SUFFIX) FS_GET_STATS := $(HOST_OUT_EXECUTABLES)/fs_get_stats$(HOST_EXECUTABLE_SUFFIX) MAKE_EXT4FS := $(HOST_OUT_EXECUTABLES)/make_ext4fs$(HOST_EXECUTABLE_SUFFIX) BLK_ALLOC_TO_BASE_FS := $(HOST_OUT_EXECUTABLES)/blk_alloc_to_base_fs$(HOST_EXECUTABLE_SUFFIX) MKEXTUSERIMG := $(HOST_OUT_EXECUTABLES)/mkuserimg.sh ifeq ($(HOST_OS),linux) MAKE_SQUASHFS := $(HOST_OUT_EXECUTABLES)/mksquashfs$(HOST_EXECUTABLE_SUFFIX) Loading tools/releasetools/build_image.py +22 −0 Original line number Diff line number Diff line Loading @@ -292,6 +292,18 @@ def MakeVerityEnabledImage(out_file, fec_supported, prop_dict): shutil.rmtree(tempdir_name, ignore_errors=True) return True def ConvertBlockMapToBaseFs(block_map_file): fd, base_fs_file = tempfile.mkstemp(prefix="script_gen_", suffix=".base_fs") os.close(fd) convert_command = ["blk_alloc_to_base_fs", block_map_file, base_fs_file] (_, exit_code) = RunCommand(convert_command) if exit_code != 0: os.remove(base_fs_file) return None return base_fs_file def BuildImage(in_dir, prop_dict, out_file, target_out=None): """Build an image to out_file from in_dir with property prop_dict. Loading @@ -308,6 +320,7 @@ def BuildImage(in_dir, prop_dict, out_file, target_out=None): # /system and the ramdisk, and can be mounted at the root of the file system. origin_in = in_dir fs_config = prop_dict.get("fs_config") base_fs_file = None if (prop_dict.get("system_root_image") == "true" and prop_dict["mount_point"] == "system"): in_dir = tempfile.mkdtemp() Loading Loading @@ -367,6 +380,11 @@ def BuildImage(in_dir, prop_dict, out_file, target_out=None): build_command.extend(["-D", target_out]) if "block_list" in prop_dict: build_command.extend(["-B", prop_dict["block_list"]]) if "base_fs_file" in prop_dict: base_fs_file = ConvertBlockMapToBaseFs(prop_dict["base_fs_file"]) if base_fs_file is None: return False build_command.extend(["-d", base_fs_file]) build_command.extend(["-L", prop_dict["mount_point"]]) if "selinux_fc" in prop_dict: build_command.append(prop_dict["selinux_fc"]) Loading Loading @@ -421,6 +439,8 @@ def BuildImage(in_dir, prop_dict, out_file, target_out=None): shutil.rmtree(in_dir, ignore_errors=True) if fs_config: os.remove(fs_config) if base_fs_file is not None: os.remove(base_fs_file) if exit_code != 0: return False Loading Loading @@ -525,6 +545,7 @@ def ImagePropFromGlobalDict(glob_dict, mount_point): copy_prop("has_ext4_reserved_blocks", "has_ext4_reserved_blocks") copy_prop("system_squashfs_compressor", "squashfs_compressor") copy_prop("system_squashfs_compressor_opt", "squashfs_compressor_opt") copy_prop("system_base_fs_file", "base_fs_file") elif mount_point == "data": # Copy the generic fs type first, override with specific one if available. copy_prop("fs_type", "fs_type") Loading @@ -541,6 +562,7 @@ def ImagePropFromGlobalDict(glob_dict, mount_point): copy_prop("has_ext4_reserved_blocks", "has_ext4_reserved_blocks") copy_prop("vendor_squashfs_compressor", "squashfs_compressor") copy_prop("vendor_squashfs_compressor_opt", "squashfs_compressor_opt") copy_prop("vendor_base_fs_file", "base_fs_file") elif mount_point == "oem": copy_prop("fs_type", "fs_type") copy_prop("oem_size", "partition_size") Loading Loading
core/Makefile +4 −0 Original line number Diff line number Diff line Loading @@ -787,6 +787,8 @@ endif SELINUX_FC := $(TARGET_ROOT_OUT)/file_contexts.bin INTERNAL_USERIMAGES_DEPS += $(SELINUX_FC) INTERNAL_USERIMAGES_DEPS += $(BLK_ALLOC_TO_BASE_FS) # $(1): the path of the output dictionary file # $(2): additional "key=value" pairs to append to the dictionary file. define generate-userimage-prop-dictionary Loading @@ -797,6 +799,7 @@ $(if $(BOARD_SYSTEMIMAGE_JOURNAL_SIZE),$(hide) echo "system_journal_size=$(BOARD $(if $(BOARD_HAS_EXT4_RESERVED_BLOCKS),$(hide) echo "has_ext4_reserved_blocks=$(BOARD_HAS_EXT4_RESERVED_BLOCKS)" >> $(1)) $(if $(BOARD_SYSTEMIMAGE_SQUASHFS_COMPRESSOR),$(hide) echo "system_squashfs_compressor=$(BOARD_SYSTEMIMAGE_SQUASHFS_COMPRESSOR)" >> $(1)) $(if $(BOARD_SYSTEMIMAGE_SQUASHFS_COMPRESSOR_OPT),$(hide) echo "system_squashfs_compressor_opt=$(BOARD_SYSTEMIMAGE_SQUASHFS_COMPRESSOR_OPT)" >> $(1)) $(if $(INTERNAL_SYSTEM_BASE_FS_PATH),$(hide) echo "system_base_fs_file=$(INTERNAL_SYSTEM_BASE_FS_PATH)" >> $(1)) $(if $(BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE),$(hide) echo "userdata_fs_type=$(BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE)" >> $(1)) $(if $(BOARD_USERDATAIMAGE_PARTITION_SIZE),$(hide) echo "userdata_size=$(BOARD_USERDATAIMAGE_PARTITION_SIZE)" >> $(1)) $(if $(BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE),$(hide) echo "cache_fs_type=$(BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE)" >> $(1)) Loading @@ -806,6 +809,7 @@ $(if $(BOARD_VENDORIMAGE_PARTITION_SIZE),$(hide) echo "vendor_size=$(BOARD_VENDO $(if $(BOARD_VENDORIMAGE_JOURNAL_SIZE),$(hide) echo "vendor_journal_size=$(BOARD_VENDORIMAGE_JOURNAL_SIZE)" >> $(1)) $(if $(BOARD_VENDORIMAGE_SQUASHFS_COMPRESSOR),$(hide) echo "vendor_squashfs_compressor=$(BOARD_VENDORIMAGE_SQUASHFS_COMPRESSOR)" >> $(1)) $(if $(BOARD_VENDORIMAGE_SQUASHFS_COMPRESSOR_OPT),$(hide) echo "vendor_squashfs_compressor_opt=$(BOARD_VENDORIMAGE_SQUASHFS_COMPRESSOR_OPT)" >> $(1)) $(if $(INTERNAL_VENDOR_BASE_FS_PATH),$(hide) echo "vendor_base_fs_file=$(INTERNAL_VENDOR_BASE_FS_PATH)" >> $(1)) $(if $(BOARD_OEMIMAGE_PARTITION_SIZE),$(hide) echo "oem_size=$(BOARD_OEMIMAGE_PARTITION_SIZE)" >> $(1)) $(if $(BOARD_OEMIMAGE_JOURNAL_SIZE),$(hide) echo "oem_journal_size=$(BOARD_OEMIMAGE_JOURNAL_SIZE)" >> $(1)) $(if $(INTERNAL_USERIMAGES_SPARSE_EXT_FLAG),$(hide) echo "extfs_sparse_flag=$(INTERNAL_USERIMAGES_SPARSE_EXT_FLAG)" >> $(1)) Loading
core/config.mk +1 −0 Original line number Diff line number Diff line Loading @@ -526,6 +526,7 @@ endif APICHECK := $(HOST_OUT_EXECUTABLES)/apicheck$(HOST_EXECUTABLE_SUFFIX) FS_GET_STATS := $(HOST_OUT_EXECUTABLES)/fs_get_stats$(HOST_EXECUTABLE_SUFFIX) MAKE_EXT4FS := $(HOST_OUT_EXECUTABLES)/make_ext4fs$(HOST_EXECUTABLE_SUFFIX) BLK_ALLOC_TO_BASE_FS := $(HOST_OUT_EXECUTABLES)/blk_alloc_to_base_fs$(HOST_EXECUTABLE_SUFFIX) MKEXTUSERIMG := $(HOST_OUT_EXECUTABLES)/mkuserimg.sh ifeq ($(HOST_OS),linux) MAKE_SQUASHFS := $(HOST_OUT_EXECUTABLES)/mksquashfs$(HOST_EXECUTABLE_SUFFIX) Loading
tools/releasetools/build_image.py +22 −0 Original line number Diff line number Diff line Loading @@ -292,6 +292,18 @@ def MakeVerityEnabledImage(out_file, fec_supported, prop_dict): shutil.rmtree(tempdir_name, ignore_errors=True) return True def ConvertBlockMapToBaseFs(block_map_file): fd, base_fs_file = tempfile.mkstemp(prefix="script_gen_", suffix=".base_fs") os.close(fd) convert_command = ["blk_alloc_to_base_fs", block_map_file, base_fs_file] (_, exit_code) = RunCommand(convert_command) if exit_code != 0: os.remove(base_fs_file) return None return base_fs_file def BuildImage(in_dir, prop_dict, out_file, target_out=None): """Build an image to out_file from in_dir with property prop_dict. Loading @@ -308,6 +320,7 @@ def BuildImage(in_dir, prop_dict, out_file, target_out=None): # /system and the ramdisk, and can be mounted at the root of the file system. origin_in = in_dir fs_config = prop_dict.get("fs_config") base_fs_file = None if (prop_dict.get("system_root_image") == "true" and prop_dict["mount_point"] == "system"): in_dir = tempfile.mkdtemp() Loading Loading @@ -367,6 +380,11 @@ def BuildImage(in_dir, prop_dict, out_file, target_out=None): build_command.extend(["-D", target_out]) if "block_list" in prop_dict: build_command.extend(["-B", prop_dict["block_list"]]) if "base_fs_file" in prop_dict: base_fs_file = ConvertBlockMapToBaseFs(prop_dict["base_fs_file"]) if base_fs_file is None: return False build_command.extend(["-d", base_fs_file]) build_command.extend(["-L", prop_dict["mount_point"]]) if "selinux_fc" in prop_dict: build_command.append(prop_dict["selinux_fc"]) Loading Loading @@ -421,6 +439,8 @@ def BuildImage(in_dir, prop_dict, out_file, target_out=None): shutil.rmtree(in_dir, ignore_errors=True) if fs_config: os.remove(fs_config) if base_fs_file is not None: os.remove(base_fs_file) if exit_code != 0: return False Loading Loading @@ -525,6 +545,7 @@ def ImagePropFromGlobalDict(glob_dict, mount_point): copy_prop("has_ext4_reserved_blocks", "has_ext4_reserved_blocks") copy_prop("system_squashfs_compressor", "squashfs_compressor") copy_prop("system_squashfs_compressor_opt", "squashfs_compressor_opt") copy_prop("system_base_fs_file", "base_fs_file") elif mount_point == "data": # Copy the generic fs type first, override with specific one if available. copy_prop("fs_type", "fs_type") Loading @@ -541,6 +562,7 @@ def ImagePropFromGlobalDict(glob_dict, mount_point): copy_prop("has_ext4_reserved_blocks", "has_ext4_reserved_blocks") copy_prop("vendor_squashfs_compressor", "squashfs_compressor") copy_prop("vendor_squashfs_compressor_opt", "squashfs_compressor_opt") copy_prop("vendor_base_fs_file", "base_fs_file") elif mount_point == "oem": copy_prop("fs_type", "fs_type") copy_prop("oem_size", "partition_size") Loading