Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 961041ac authored by Gao Xiang's avatar Gao Xiang
Browse files

Allow flashing erofs system imgs



Bug: 158339527
Test: build & boot
Signed-off-by: default avatarGao Xiang <hsiangkao@redhat.com>
Change-Id: Ie74db8ebcd7214ffbec49d42b305b2f3ac2e8c9d
parent 0b0d8d5b
Loading
Loading
Loading
Loading
+18 −0
Original line number Original line Diff line number Diff line
@@ -1275,6 +1275,9 @@ DEFAULT_TARGET_RECOVERY_FSTYPE_MOUNT_OPTIONS := ext4=max_batch_time=0,commit=1,d
ifneq (true,$(TARGET_USERIMAGES_SPARSE_EXT_DISABLED))
ifneq (true,$(TARGET_USERIMAGES_SPARSE_EXT_DISABLED))
  INTERNAL_USERIMAGES_SPARSE_EXT_FLAG := -s
  INTERNAL_USERIMAGES_SPARSE_EXT_FLAG := -s
endif
endif
ifneq (true,$(TARGET_USERIMAGES_SPARSE_EROFS_DISABLED))
  INTERNAL_USERIMAGES_SPARSE_EROFS_FLAG := -s
endif
ifneq (true,$(TARGET_USERIMAGES_SPARSE_SQUASHFS_DISABLED))
ifneq (true,$(TARGET_USERIMAGES_SPARSE_SQUASHFS_DISABLED))
  INTERNAL_USERIMAGES_SPARSE_SQUASHFS_FLAG := -s
  INTERNAL_USERIMAGES_SPARSE_SQUASHFS_FLAG := -s
endif
endif
@@ -1291,6 +1294,18 @@ ifeq ($(TARGET_USERIMAGES_USE_F2FS),true)
INTERNAL_USERIMAGES_DEPS += $(MKF2FSUSERIMG)
INTERNAL_USERIMAGES_DEPS += $(MKF2FSUSERIMG)
endif
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) \
    $(BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE) \
    $(BOARD_ODM_DLKMIMAGE_FILE_SYSTEM_TYPE) \
  ,erofs),)
INTERNAL_USERIMAGES_DEPS += $(MKEROFSUSERIMG)
endif

ifneq ($(filter \
ifneq ($(filter \
    $(BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE) \
    $(BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE) \
    $(BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE) \
    $(BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE) \
@@ -1471,6 +1486,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_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_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_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 $(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))
$(if $(BOARD_EXT4_SHARE_DUP_BLOCKS),$(hide) echo "ext4_share_dup_blocks=$(BOARD_EXT4_SHARE_DUP_BLOCKS)" >> $(1))
@@ -3927,6 +3943,8 @@ INTERNAL_OTATOOLS_MODULES := \
  mkbootimg \
  mkbootimg \
  mke2fs \
  mke2fs \
  mke2fs.conf \
  mke2fs.conf \
  mkfs.erofs \
  mkerofsimage.sh \
  mkf2fsuserimg.sh \
  mkf2fsuserimg.sh \
  mksquashfs \
  mksquashfs \
  mksquashfsimage.sh \
  mksquashfsimage.sh \
+1 −0
Original line number Original line Diff line number Diff line
@@ -555,6 +555,7 @@ APICHECK := $(HOST_OUT_JAVA_LIBRARIES)/metalava$(COMMON_JAVA_PACKAGE_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)
MKEXTUSERIMG := $(HOST_OUT_EXECUTABLES)/mkuserimg_mke2fs
MKEXTUSERIMG := $(HOST_OUT_EXECUTABLES)/mkuserimg_mke2fs
MKE2FS_CONF := system/extras/ext4_utils/mke2fs.conf
MKE2FS_CONF := system/extras/ext4_utils/mke2fs.conf
MKEROFSUSERIMG := $(HOST_OUT_EXECUTABLES)/mkerofsimage.sh
MKSQUASHFSUSERIMG := $(HOST_OUT_EXECUTABLES)/mksquashfsimage.sh
MKSQUASHFSUSERIMG := $(HOST_OUT_EXECUTABLES)/mksquashfsimage.sh
MKF2FSUSERIMG := $(HOST_OUT_EXECUTABLES)/mkf2fsuserimg.sh
MKF2FSUSERIMG := $(HOST_OUT_EXECUTABLES)/mkf2fsuserimg.sh
SIMG2IMG := $(HOST_OUT_EXECUTABLES)/simg2img$(HOST_EXECUTABLE_SUFFIX)
SIMG2IMG := $(HOST_OUT_EXECUTABLES)/simg2img$(HOST_EXECUTABLE_SUFFIX)
+1 −0
Original line number Original line Diff line number Diff line
@@ -49,6 +49,7 @@ python_defaults {
    required: [
    required: [
        "blk_alloc_to_base_fs",
        "blk_alloc_to_base_fs",
        "e2fsck",
        "e2fsck",
        "mkerofsimage.sh",
        "mkuserimg_mke2fs",
        "mkuserimg_mke2fs",
        "simg2img",
        "simg2img",
        "tune2fs",
        "tune2fs",
+13 −0
Original line number Original line Diff line number Diff line
@@ -296,6 +296,18 @@ def BuildImageMkfs(in_dir, prop_dict, out_file, target_out, fs_config):
      build_command.extend(["--inode_size", "256"])
      build_command.extend(["--inode_size", "256"])
    if "selinux_fc" in prop_dict:
    if "selinux_fc" in prop_dict:
      build_command.append(prop_dict["selinux_fc"])
      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"):
  elif fs_type.startswith("squash"):
    build_command = ["mksquashfsimage.sh"]
    build_command = ["mksquashfsimage.sh"]
    build_command.extend([in_dir, out_file])
    build_command.extend([in_dir, out_file])
@@ -532,6 +544,7 @@ def ImagePropFromGlobalDict(glob_dict, mount_point):


  common_props = (
  common_props = (
      "extfs_sparse_flag",
      "extfs_sparse_flag",
      "erofs_sparse_flag",
      "squashfs_sparse_flag",
      "squashfs_sparse_flag",
      "f2fs_sparse_flag",
      "f2fs_sparse_flag",
      "skip_fsck",
      "skip_fsck",