diff --git a/code/system/vold/model/PublicVolume.cpp b/code/system/vold/model/PublicVolume.cpp
index 0ae918e3b88..8f93b4d27b5 100644
--- a/code/system/vold/model/PublicVolume.cpp
+++ b/code/system/vold/model/PublicVolume.cpp
@@ -107,13 +107,13 @@ status_t PublicVolume::doMount() {
if (mFsType == "vfat" && vfat::IsSupported()) {
if (vfat::Check(mDevPath)) {
- LOG(ERROR) << getId() << " failed filesystem check";
+ LOG(ERROR) << getId() << " vfat failed filesystem check";
return -EIO;
}
} else if (mFsType == "exfat" && exfat::IsSupported()) {
if (exfat::Check(mDevPath)) {
- LOG(ERROR) << getId() << " failed filesystem check";
- return -EIO;
+ LOG(ERROR) << getId() << " exfat failed filesystem check";
+ // return -EIO;
}
} else if (mFsType == "ntfs") {
char value[PROPERTY_VALUE_MAX];
diff --git a/code/device/rockchip/common/sepolicy/vendor/file_contexts b/code/device/rockchip/common/sepolicy/vendor/file_contexts
index a7df50ccbb2..52a48191208 100755
--- a/code/device/rockchip/common/sepolicy/vendor/file_contexts
+++ b/code/device/rockchip/common/sepolicy/vendor/file_contexts
@@ -51,6 +51,12 @@
/system/bin/mkntfs u:object_r:vold_exec:s0
/system/bin/ntfsfix u:object_r:fsck_exec:s0
+#for support exfat
+/system/bin/mkfs.exfat u:object_r:vold_exec:s0
+/system/bin/fsck.exfat u:object_r:vold_exec:s0
+/system/bin/mount.exfat u:object_r:vold_exec:s0
+
+
#for media
/sys/firmware/devicetree/base/compatible u:object_r:sysfs_dev:s0
diff --git a/code/device/rockchip/rk356x/device.mk b/code/device/rockchip/rk356x/device.mk
index e6dccb71293..ee1c06e39d8 100755
--- a/code/device/rockchip/rk356x/device.mk
+++ b/code/device/rockchip/rk356x/device.mk
@@ -9,6 +9,10 @@ PRODUCT_VENDOR_PROPERTIES += graphics.gpu.profiler.support=true
PRODUCT_PACKAGES += \
displayd \
+ fsck.exfat \
+ mkfs.exfat \
+ mount.exfat \
+ libfuse_static \
libvendoroper \
vendor_test \
libion
--- a/code/kernel-4.19/arch/arm64/configs/rk3568_aio_defconfig
+++ b/code/kernel-4.19/arch/arm64/configs/rk3568_aio_defconfig
@@ -950,3 +950,6 @@ CONFIG_SCHED_STACK_END_CHECK=y
CONFIG_ENABLE_DEFAULT_TRACERS=y
CONFIG_BUG_ON_DATA_CORRUPTION=y
CONFIG_USB_HID=y
+CONFIG_EXFAT_FS=y
+CONFIG_EXFAT_DEFAULT_CODEPAGE=437
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
diff --git a/code/kernel-4.19/fs/Kconfig b/code/kernel-4.19/fs/Kconfig
old mode 100644
new mode 100755
index b8d003f02b7..5af48bc48b8
--- a/code/kernel-4.19/fs/Kconfig
+++ b/code/kernel-4.19/fs/Kconfig
@@ -137,6 +137,7 @@ menu "DOS/FAT/NT Filesystems"
source "fs/fat/Kconfig"
source "fs/ntfs/Kconfig"
+source "fs/exfat/Kconfig"
endmenu
endif # BLOCK
diff --git a/code/kernel-4.19/fs/Makefile b/code/kernel-4.19/fs/Makefile
old mode 100644
new mode 100755
index 5030ac9050c..d6c02f22179
--- a/code/kernel-4.19/fs/Makefile
+++ b/code/kernel-4.19/fs/Makefile
@@ -80,6 +80,7 @@ obj-$(CONFIG_HUGETLBFS) += hugetlbfs/
obj-$(CONFIG_CODA_FS) += coda/
obj-$(CONFIG_MINIX_FS) += minix/
obj-$(CONFIG_FAT_FS) += fat/
+obj-$(CONFIG_EXFAT_FS) += exfat/
obj-$(CONFIG_BFS_FS) += bfs/
obj-$(CONFIG_ISO9660_FS) += isofs/
obj-$(CONFIG_HFSPLUS_FS) += hfsplus/ # Before hfs to find wrapped HFS+
移植文件下载路径
https://gitee.com/rock_telp/android_add_exfat
在对应的kernel和external目录正添加对用文件。