本文适用于 MTK 平台
[SOLUTION]
1.FAQ is for sw version which is after MTK Android O1 release SW Version
2.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
3.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 即可查看分区格式
参考文章