高通 Android 13 兼容extfat模式

news2024/11/25 22:58:18

Android本身不支持extfat格式 需要通过nofuse 打kernel补丁方式去实现 

1、kernel/msm-4.19/arch/arm64/configs/vendor/device-perf_defconfig 增加

diff --git a/kernel/msm-4.19/arch/arm64/configs/vendor/device-perf_defconfig b/kernel/msm-4.19/arch/arm64/configs/vendor/device-perf_defconfig

index a072c626fe7..b150b127880 100644

--- a/kernel/msm-4.19/arch/arm64/configs/vendor/device-perf_defconfig

+++ b/kernel/msm-4.19/arch/arm64/configs/vendor/device-perf_defconfig

@@ -28,6 +28,9 @@ CONFIG_CGROUP_CPUACCT=y

CONFIG_CGROUP_BPF=y

CONFIG_SCHED_CORE_CTL=y

CONFIG_NAMESPACES=y

+CONFIG_EXFAT_FS=y

+CONFIG_NTFS_FS=y

+CONFIG_NTFS_RW=y

# CONFIG_PID_NS is not set

CONFIG_SCHED_AUTOGROUP=y

CONFIG_SCHED_TUNE=y

2、kernel/msm-4.19/arch/arm64/configs/vendor/device_defconfig中增加

diff --git a/kernel/msm-4.19/arch/arm64/configs/vendor/bengal_defconfig b/kernel/msm-4.19/arch/arm64/configs/vendor/bengal_defconfig

index 4bb8f0343e6..5e66d553d36 100644

--- a/kernel/msm-4.19/arch/arm64/configs/vendor/bengal_defconfig

+++ b/kernel/msm-4.19/arch/arm64/configs/vendor/bengal_defconfig

@@ -29,6 +29,10 @@ CONFIG_CGROUP_BPF=y

CONFIG_CGROUP_DEBUG=y

CONFIG_SCHED_CORE_CTL=y

CONFIG_NAMESPACES=y

+CONFIG_EXFAT_FS=y

+CONFIG_NTFS_FS=y

+CONFIG_NTFS_RW=y

+

# CONFIG_PID_NS is not set

CONFIG_SCHED_AUTOGROUP=y

CONFIG_SCHED_TUNE=y

3、kernel/msm-4.19/fs/Kconfig b/kernel/msm-4.19/fs/Kconfig 增加+source "fs/exfat/Kconfig"

diff --git a/kernel/msm-4.19/fs/Kconfig b/kernel/msm-4.19/fs/Kconfig

index b8d003f02b7..947e731b316 100644

--- a/kernel/msm-4.19/fs/Kconfig

+++ b/kernel/msm-4.19/fs/Kconfig

@@ -137,6 +137,8 @@ menu "DOS/FAT/NT Filesystems"

source "fs/fat/Kconfig"

source "fs/ntfs/Kconfig"

+source "fs/exfat/Kconfig"

+

4、kernel/msm-4.19/fs/Makefile b/kernel/msm-4.19/fs/Makefile 中增加+obj-$(CONFIG_EXFAT_FS)      += exfat/

diff --git a/kernel/msm-4.19/fs/Makefile b/kernel/msm-4.19/fs/Makefile

index 9d1caea038f..56aca48a51d 100644

--- a/kernel/msm-4.19/fs/Makefile

+++ b/kernel/msm-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+

diff --git a/kernel/msm-4.19/fs/exfat/.gitignore b/kernel/msm-4.19/fs/exfat/.gitignore

new file mode 100644

index 00000000000..241505f47ee

--- /dev/null

5、

+++ b/kernel/msm-4.19/fs/exfat/.gitignore

kernel/msm-4.19/fs/exfat/.gitignore                             |    7 +

kernel/msm-4.19/fs/exfat/Kconfig                                |   39 +

kernel/msm-4.19/fs/exfat/LICENSE                                |  339 ++++++++

kernel/msm-4.19/fs/exfat/Makefile                               |   56 ++

kernel/msm-4.19/fs/exfat/README.md                              |   98 +++

kernel/msm-4.19/fs/exfat/dkms.conf                              |    7 +

kernel/msm-4.19/fs/exfat/exfat-km.mk                            |   11 +

kernel/msm-4.19/fs/exfat/exfat_api.c                            |  528 ++++++++++++

kernel/msm-4.19/fs/exfat/exfat_api.h                            |  206 +++++

kernel/msm-4.19/fs/exfat/exfat_bitmap.c                         |   63 ++

kernel/msm-4.19/fs/exfat/exfat_bitmap.h                         |   55 ++

kernel/msm-4.19/fs/exfat/exfat_blkdev.c                         |  197 +++++

kernel/msm-4.19/fs/exfat/exfat_blkdev.h                         |   73 ++

kernel/msm-4.19/fs/exfat/exfat_cache.c                          |  784 +++++++++++++++++

kernel/msm-4.19/fs/exfat/exfat_cache.h                          |   85 ++

kernel/msm-4.19/fs/exfat/exfat_config.h                         |   69 ++

kernel/msm-4.19/fs/exfat/exfat_core.c                           | 5138 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

kernel/msm-4.19/fs/exfat/exfat_core.h                           |  671 +++++++++++++++

kernel/msm-4.19/fs/exfat/exfat_data.c                           |   77 ++

kernel/msm-4.19/fs/exfat/exfat_data.h                           |   58 ++

kernel/msm-4.19/fs/exfat/exfat_nls.c                            |  448 ++++++++++

kernel/msm-4.19/fs/exfat/exfat_nls.h                            |   91 ++

kernel/msm-4.19/fs/exfat/exfat_oal.c                            |  196 +++++

kernel/msm-4.19/fs/exfat/exfat_oal.h                            |   74 ++

kernel/msm-4.19/fs/exfat/exfat_super.c                          | 2711 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

kernel/msm-4.19/fs/exfat/exfat_super.h                          |  171 ++++

kernel/msm-4.19/fs/exfat/exfat_upcase.c                         |  405 +++++++++

kernel/msm-4.19/fs/exfat/exfat_version.h                        |   19 +

6、添加好之后记得将device-perf_defconfig文件git add  平台(rk/全志/展锐/高通)/kernel/msm-4.19/arch/arm64/configs/vendor/device_defconfig 否则编译的时候会恢复到原来没修改状态 会导致无法在out/target/product/bengal/obj/kernel/msm-4.19/fs/exfat 生成对应.o文件 切记

7、执行编译就ok 编译成功之后在 window 下面 adb shell cat /proc/filesystems ,如果列表出现exfat格式说明当前设备已经支持exfat格式 如下图所示

8、到这里基本结束了,其他平台具体以实际平台情况为主,有问题可以评论区或者讨论哈!转载请注明出处 谢谢!有学习framework大佬们可以一起交流 加我WeChat   一起学习 一起进步 kdanmobile 

转载请注明出处 谢谢 高通 Android 13 兼容extfat模式_KdanMin的博客-CSDN博客

其他源码补丁源码下载 mirrors / dorimanx / exfat-nofuse · GitCode

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/499153.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

导航栏模糊背景 out 了? 来看看这种模糊是否合你胃口? 并且学习 backdrop-filter

导航栏模糊背景 out 了? 来看看这种模糊是否合你胃口? 并且学习 backdrop-filter 传统情况模糊导航栏效果 🆚 一种比较新的模糊导航栏效果(比如 Element-Plus 官网的导航栏效果, 有些类似密集点阵式) 导航栏要实现这个效果必须设置背景为有透明的颜色并且通过 ba…

Docker安装常用软件-Apollo

零:apollo概念介绍 官网网站:GitHub - apolloconfig/apollo: Apollo is a reliable configuration management system suitable for microservice configuration management scenarios. gitee网址:mirrors / ctripcorp / apollo GitCode …

家用电器-电磁炉加热原理及实现

目录 一、历史 二、基本原理 三、电路组成 3.1 控制电路 3.2 电源电路 3.3 电磁线圈及驱动电路 3.4 传感器电路 3.5 散热-风扇 四、电磁炉的核心部件 五、电磁炉特点 5.1 加热速度快 5.2 热效率高 5.3 加热的均匀性 六、国内电磁炉市场 参考资料 一、历史 电磁炉…

【Python入门】Python的判断语句(if else 语句)

前言 📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Python零基础入门系列,本专栏主要内容为Python基础语法、判断、循环语句、函…

idea调优|maven调优

一、idea调优 1、idea启动优化 首先打开idea->Help->Edit Custom VM Options 按如下配置调整既有参数,参数数值不固定,需根据开发环境配置适当调整。针对如下配置#号后面的为注释,配置时需删除 # 启动堆大小 -Xms2048m # 最大运行堆…

SpringCloud-OpenFeign案例实战

关于Spring Cloud Open Feign的介绍可以参考这两篇博客 OpenFeign服务接口调用 使用Feign作为服务消费者 本博客参考gitee开源项目代码,结合自己的理解,记录下微服务场景下的使用。Talk is cheap. Show me the code! 一、项目结构 这里使用…

FJUT第17届校赛题解

致歉 由于出题人经验不足,给大家带来不好的体验,实在抱歉。在赛中忘记开答疑,发不了公告,发现的问题已经在尽量修补。出现的问题如下(均修复): 1.薛薛的简单数学题,没写spj&#xf…

【Python从入门到进阶】18、文件内容序列化和反序列化操作

接上篇《17、文件的读写操作》 上一篇我们学习了Python文件对象包含哪些方法,并学习了文件如何进行读、写、定位和删除。本篇我们来学习文件读取及写入数据序列化和反序列化的操作。 一、什么是序列化和反序列化 通过文件操作,我们可以将字符串写入到一…

【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_8.7p1(亲测无问题,建议收藏)

🍁博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 文章目录 文章声明前述安装一些必要的命令&…

MySQL数据库学习(进阶篇)

1.存储引擎 1.1 MySQL体系结构 连接层 最上层是一些客户端和链接服务,主要完成一些类似于连接处理、授权认证、及相关的安全方案。服务器也会为安全接入的每个客户端验证它所具有的操作权限。 服务层 第二层家口主要完成大多数的核心服务功能,如SQL接口…

二挡起步——pythonweb开发Django框架,前端原生+Django后端框架+python网络抓包(代替数据库数据)(附带小案例)

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…

Java8新特性—Stream API

前言 Java 8引入了Stream API,这是一种新的API,可让开发人员更轻松地处理集合数据。 Stream API提供了丰富的操作,如过滤、映射、排序和规约。下面将对Stream API的基本语法、使用场景和示例进行介绍。 基本语法 Stream API是Java 8中处理…

玄子Share- Maven 3 安装配置教程(含安装包)

玄子Share- Maven 3 安装配置教程(含安装包) 下载 下载链接 官网 https://maven.apache.org/index.html 下载教程 进入 Maven 官网,点击左侧导航栏,Download下载。 下方选择安装类型,选择.zip后缀文件&#xff0c…

Linux系统通过Docker安装Elasticsearch、部署kibana

Docker安装和基本操作 一、安装Elasticsearch 1.1.创建网络 因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络: docker network create es-net1.2.拉取 docker pull elasticsearch:7.12.11.3.运行 运行docker命令…

8-3分治

引入 分治算法(divide and conquer)是五大常用算法(分治算法、动态规划算法、贪心算法、回溯法、分治界限法)之一。其实,很多人在平时学习中已经不知不觉就用到了分治算法,只是不知道那就是分治算法,今天,…

Word Embedding

One-hot-encoding 缺点 1.向量维度和向量个数很大,假设有1w个token的话,向量个数和维度就都是1w 2. 语义相近的词的向量并不相似 Word Embedding 核心思想:可以通过上下文理解单词的语义 predection-based方法 使用前一个单词预测下一个…

【前端】1、flex 布局详解

flex 布局目录 一、flex container 和 flex items二、用在 flex container 上的 CSS 属性(1) flex-direction(2) justify-content(3) align-items(4) flex-wrap(5) flex-flow(6) align-content 三、用在 flex items 上的 CSS 属性(1) order(顺序)(2) ali…

【Linux】Linux下的基本指令

😛作者:日出等日落 📘 专栏:数据结构 人生就是这样,要耐的住寂寞,才守得住繁华。 —— 七堇年 目录 Linux的基本命令(常用): ls 指令: pwd指…

告别混乱代码,这份 SpringBoot 后端接口规范太及时了

告别混乱代码,这份 SpringBoot 后端接口规范太及时了! 文章目录 一、前言 二、环境说明 三、参数校验 1、介绍2、Validator 自动抛出异常(使用)3、分组校验和递归校验4、自定义校验 四、全局异常处理 1、基本使用2、自定义…

【Android入门到项目实战-- 9.4】—— 方向传感器的详细使用教程

目录 一、基础知识 二、实战使用 一、基础知识 Android的方向传感器,返回三轴的角度数据,方向数据的单位是角度。 提供三个数据:azimuth、pitch和roll。 azimuth:方位,返回水平时磁北极和Y轴的夹角,范围是…