本文适用于 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 即可查看分区格式
参考文章