diff options
author | Gao Xiang <hsiangkao@redhat.com> | 2020-06-17 13:59:16 +0800 |
---|---|---|
committer | alk3pInjection <webmaster@raspii.tech> | 2021-09-27 21:17:05 +0800 |
commit | 5b81397a451561aaa1ac9289da3c81c9a76d6b2e (patch) | |
tree | 095d61bf9a194864eee46c9299bae9592062a9c7 | |
parent | 40df424b6d9a8871db180bea541a31a9dd824125 (diff) |
[master] releasetools: Allow flashing erofs system imgs
Bug: 158339527
Test: build & boot
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
Change-Id: Ie74db8ebcd7214ffbec49d42b305b2f3ac2e8c9d
-rw-r--r-- | core/Makefile | 10 | ||||
-rw-r--r-- | core/config.mk | 1 | ||||
-rw-r--r-- | tools/releasetools/Android.bp | 1 | ||||
-rwxr-xr-x | tools/releasetools/build_image.py | 13 |
4 files changed, 25 insertions, 0 deletions
diff --git a/core/Makefile b/core/Makefile index f181e571af..512dcae7ed 100644 --- a/core/Makefile +++ b/core/Makefile @@ -1647,6 +1647,9 @@ DEFAULT_TARGET_RECOVERY_FSTYPE_MOUNT_OPTIONS := ext4=max_batch_time=0,commit=1,d ifneq (true,$(TARGET_USERIMAGES_SPARSE_EXT_DISABLED)) INTERNAL_USERIMAGES_SPARSE_EXT_FLAG := -s endif +ifneq (true,$(TARGET_USERIMAGES_SPARSE_EROFS_DISABLED)) + INTERNAL_USERIMAGES_SPARSE_EROFS_FLAG := -s +endif ifneq (true,$(TARGET_USERIMAGES_SPARSE_SQUASHFS_DISABLED)) INTERNAL_USERIMAGES_SPARSE_SQUASHFS_FLAG := -s endif @@ -1663,6 +1666,10 @@ ifeq ($(TARGET_USERIMAGES_USE_F2FS),true) INTERNAL_USERIMAGES_DEPS += $(MKF2FSUSERIMG) endif +ifneq ($(filter $(BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE) $(BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE) $(BOARD_ODMIMAGE_FILE_SYSTEM_TYPE) $(BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE) $(BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE),erofs),) +INTERNAL_USERIMAGES_DEPS += $(MKEROFSUSERIMG) +endif + ifneq ($(filter $(BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE) $(BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE) $(BOARD_ODMIMAGE_FILE_SYSTEM_TYPE) $(BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE) $(BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE),squashfs),) INTERNAL_USERIMAGES_DEPS += $(MKSQUASHFSUSERIMG) endif @@ -1790,6 +1797,7 @@ $(hide) echo "ext_mkuserimg=$(notdir $(MKEXTUSERIMG))" >> $(1) $(if $(INTERNAL_USERIMAGES_EXT_VARIANT),$(hide) echo "fs_type=$(INTERNAL_USERIMAGES_EXT_VARIANT)" >> $(1)) $(if $(INTERNAL_USERIMAGES_SPARSE_EXT_FLAG),$(hide) echo "extfs_sparse_flag=$(INTERNAL_USERIMAGES_SPARSE_EXT_FLAG)" >> $(1)) +$(if $(INTERNAL_USERIMAGES_SPARSE_EROFS_FLAG),$(hide) echo "erofs_sparse_flag=$(INTERNAL_USERIMAGES_SPARSE_EROFS_FLAG)" >> $(1)) $(if $(INTERNAL_USERIMAGES_SPARSE_SQUASHFS_FLAG),$(hide) echo "squashfs_sparse_flag=$(INTERNAL_USERIMAGES_SPARSE_SQUASHFS_FLAG)" >> $(1)) $(if $(INTERNAL_USERIMAGES_SPARSE_F2FS_FLAG),$(hide) echo "f2fs_sparse_flag=$(INTERNAL_USERIMAGES_SPARSE_F2FS_FLAG)" >> $(1)) $(if $(BOARD_EXT4_SHARE_DUP_BLOCKS),$(hide) echo "ext4_share_dup_blocks=$(BOARD_EXT4_SHARE_DUP_BLOCKS)" >> $(1)) @@ -4167,6 +4175,8 @@ INTERNAL_OTATOOLS_MODULES := \ mkbootimg \ mke2fs \ mke2fs.conf \ + mkfs.erofs \ + mkerofsimage.sh \ mkf2fsuserimg.sh \ mksquashfs \ mksquashfsimage.sh \ diff --git a/core/config.mk b/core/config.mk index c9efa116fc..fed4190f35 100644 --- a/core/config.mk +++ b/core/config.mk @@ -626,6 +626,7 @@ APICHECK := $(HOST_OUT_JAVA_LIBRARIES)/metalava$(COMMON_JAVA_PACKAGE_SUFFIX) FS_GET_STATS := $(HOST_OUT_EXECUTABLES)/fs_get_stats$(HOST_EXECUTABLE_SUFFIX) MKEXTUSERIMG := $(HOST_OUT_EXECUTABLES)/mkuserimg_mke2fs MKE2FS_CONF := system/extras/ext4_utils/mke2fs.conf +MKEROFSUSERIMG := $(HOST_OUT_EXECUTABLES)/mkerofsimage.sh MKSQUASHFSUSERIMG := $(HOST_OUT_EXECUTABLES)/mksquashfsimage.sh MKF2FSUSERIMG := $(HOST_OUT_EXECUTABLES)/mkf2fsuserimg.sh SIMG2IMG := $(HOST_OUT_EXECUTABLES)/simg2img$(HOST_EXECUTABLE_SUFFIX) diff --git a/tools/releasetools/Android.bp b/tools/releasetools/Android.bp index dbd7dc6a31..fafb886b76 100644 --- a/tools/releasetools/Android.bp +++ b/tools/releasetools/Android.bp @@ -49,6 +49,7 @@ python_defaults { required: [ "blk_alloc_to_base_fs", "e2fsck", + "mkerofsimage.sh", "mkuserimg_mke2fs", "simg2img", "tune2fs", diff --git a/tools/releasetools/build_image.py b/tools/releasetools/build_image.py index ae0dfa0ab0..ab3f7cea1f 100755 --- a/tools/releasetools/build_image.py +++ b/tools/releasetools/build_image.py @@ -295,6 +295,18 @@ def BuildImageMkfs(in_dir, prop_dict, out_file, target_out, fs_config): build_command.extend(["--inode_size", "256"]) if "selinux_fc" in prop_dict: build_command.append(prop_dict["selinux_fc"]) + elif fs_type.startswith("erofs"): + build_command = ["mkerofsimage.sh"] + build_command.extend([in_dir, out_file]) + if "erofs_sparse_flag" in prop_dict: + build_command.extend([prop_dict["erofs_sparse_flag"]]) + build_command.extend(["-m", prop_dict["mount_point"]]) + if target_out: + build_command.extend(["-d", target_out]) + if fs_config: + build_command.extend(["-C", fs_config]) + if "selinux_fc" in prop_dict: + build_command.extend(["-c", prop_dict["selinux_fc"]]) elif fs_type.startswith("squash"): build_command = ["mksquashfsimage.sh"] build_command.extend([in_dir, out_file]) @@ -530,6 +542,7 @@ def ImagePropFromGlobalDict(glob_dict, mount_point): common_props = ( "extfs_sparse_flag", + "erofs_sparse_flag", "squashfs_sparse_flag", "f2fs_sparse_flag", "skip_fsck", |