RK3568 Android11 exfat格式支持

1.kernel驱动添加:

  把exfat(驱动)添加到kernel/fs目录下,makefile写死如下:

index 5030ac9..a2845ec
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -68,6 +68,8 @@ obj-$(CONFIG_DLM)             += dlm/
 obj-$(CONFIG_FSCACHE)          += fscache/
 obj-$(CONFIG_REISERFS_FS)      += reiserfs/
 obj-$(CONFIG_EXT4_FS)          += ext4/
+#obj-$(CONFIG_EXFAT_FS)                += exfat/
+obj-y          += exfat/

 

2.device产品目录下添加EXFAT模块编译:

--- a/device.mk
+++ b/device.mk
@@ -811,6 +811,18 @@ PRODUCT_PROPERTY_OVERRIDES += \
     ro.factory.storage_suppntfs=false
 endif
 
+#######################################################
+#build system support exfat
+########################################################
+PRODUCT_PROPERTY_OVERRIDES += \
+       ro.factory.storage_suppexfat=true
+ 
+PRODUCT_PACKAGES += \
+       fsck.exfat \
+       mkfs.exfat \
+       tune.exfat \
+       dump.exfat
+
 ########################################################
 # build without barrery

 

3.添加exfatprogs源码到external下面

  exfatprogs是rk提供的,也可下载

  

链接:https://pan.baidu.com/s/1lb3dvGJo9ZtW7FGNlMGOZw 
提取码:xn0n 

 

4.system/vold层修改:

index 34f1024..7782dd3
--- a/fs/Exfat.cpp
+++ b/fs/Exfat.cpp
@@ -41,7 +41,7 @@ bool IsSupported() {
 status_t Check(const std::string& source) {
     std::vector<std::string> cmd;
     cmd.push_back(kFsckPath);
-    cmd.push_back("-a");
+    cmd.push_back("-y");
     cmd.push_back(source);

 

 

参考:https://blog.csdn.net/weixin_43245753/article/details/125624910

posted @ 2023-07-19 10:34  M-kobe  阅读(854)  评论(1)    收藏  举报