Android 如何将 data 分区格式由 ext4 转为 f2fs

    技术2022-07-11  117

    本文适用于 MTK 平台

    [SOLUTION]

    FAQ is for sw version which is after MTK Android O1 release SW Version

    Only below chipsets support F2FS are veirified by MTK, if Customer’s chipset doesn’t include as below,FAQ may be not available 1)6580/6570 2)6735/53/37 系列 3) 6739

    Enable f2fs steps:

    (1) Kernel Config (kernel-xxx/arch/armxx/configs/$project_[debug]_config)

    添加如下设定(如已有,请配置为如下设定)

    CONFIG_F2FS_FS=y CONFIG_F2FS_FS_SECURITY=y CONFIG_F2FS_FS_ENCRYPTION=y

    (2) add F2FS Property of MTK

    device/mediateksample (mediatekprojects) / /device.mk

    添加如下设定(如已有,请配置为如下设定):

    # F2FS filesystem PRODUCT_PROPERTY_OVERRIDES += ro.mtk_f2fs_enable=1

    从Android Q开始,添加如下设定(如已有,请配置为如下设定):

    # F2FS filesystem PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_f2fs_enable=1

    (3) CONFIG data partition as F2FS as below

    device/mediateksample (mediatekprojects) / /BoardConfig.mk

    添加如下设定(如已有,请配置为如下设定):

    #Config data partition for F2FS BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs # This ensures the needed build tools are available. # TODO: make non-linux builds happy with external/f2fs-tool; system/extras/f2fs_utils ifeq ($(HOST_OS),linux) TARGET_USERIMAGES_USE_F2FS := true endif # Filesystem management tools PRODUCT_PACKAGES += fsck.f2fs mkfs.f2fs

    android Q中可能会报错,

    /BoardConfig.mk:18: error: cannot assign to readonly variable: PRODUCT_PACKAGES

    只需将 PRODUCT_PACKAGES += fsck.f2fs mkfs.f2fs 注释即可

    从Android R开始,只需要添加如下设定(如已有,请配置为如下设定):

    #Config data partition for F2FS BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs # This ensures the needed build tools are available. # TODO: make non-linux builds happy with external/f2fs-tool; system/extras/f2fs_utils ifeq ($(HOST_OS),linux) TARGET_USERIMAGES_USE_F2FS := true endif

    (4) 修改 lk 下配置

    vendor/mediatek/proprietary/bootable/bootloader/lk/project/.mk

    $project.mk (for fastboot) Add the following line MTK_USERIMAGES_USE_F2FS = yes

    以上修改后,请 make clean后编译,确保修改生效

    烧写后开机用 adb shell df -t f2fs 即可查看分区格式

    参考文章

    Android修改分区格式为F2FS

    Android data分区格式F2FS改为EXT4

    Android 10上的F2FS文件系统制作

    Processed: 0.009, SQL: 9