64G-128G的tf卡文件系统格式为exfat,而hi3518e默认只支持fat32格式的tf卡。为了挂载64G以上的tf卡,只能将sd卡先格式化成FAT32。鉴于exfat性能比FAT32强,因此考虑移植exfat驱动到海思3518e平台,这样就不用强制格式化tf卡。

拷贝驱动源码到内核

# cp /home/dyx/exfat /home/dyx/sdk_hi3518e/Hi3518_SDK_V1.0.A.0/osdrv/kernel/linux-3.0.y/fs/exfat -frv

切换路径至内核编译顶层路径

# cd /home/dyx/sdk_hi3518e/Hi3518_SDK_V1.0.A.0/osdrv/kernel/linux-3.0.y

修改fs/Kconfig

# vi ./fs/Kconfig

if BLOCK
menu "DOS/FAT/NT Filesystems"

source "fs/fat/Kconfig"
source "fs/exfat/Kconfig"

source "fs/ntfs/Kconfig"

修改fs/Makefile

# vi ./fs/Makefile

obj-$(CONFIG_MINIX_FS)+= minix/
obj-$(CONFIG_FAT_FS) += fat/
obj-$(CONFIG_EXFAT_FS)  += exfat/

exfat层makefile示例

[plain] view plaincopy print?
  1. <span style="font-size:14px;">#
  2. # Makefile for the Linux fat filesystem support.
  3. #
  4. obj-$(CONFIG_EXFAT_FS) += exfat.o
  5. exfat-y := exfat_core.o exfat_super.o exfat_api.o exfat_blkdev.o exfat_cache.o \
  6. exfat_data.o exfat_bitmap.o exfat_nls.o exfat_oal.o exfat_upcase.o</span></span></span>

menuconfig配置

# make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- menuconfig

进入图形化配置界面

File systems  --->

DOS/FAT/NT Filesystems  --->

<*> exFAT fs support                                                                                               
[*]   enable discard support                                                                                       
[*]   enable delayed sync                                                                                          
[ ]   enable kernel debug features via ioctl                                                                       
[ ]   print debug messages                                                                                         
(437) Default codepage for exFAT                                                                                   
(utf8) Default iocharset for exFAT

保存退出

内核编译
# make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- uImage

挂载

mount -t exfat /dev/mmcblk0p1   /media/

或者可以不指定挂载的文件系统类型,让系统自动识别

mount /dev/mmcblk0p1   /media/

[EXFAT] trying to mount...
[EXFAT] mounted successfully

# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                12.0M      4.6M      7.4M  38% /
tmpfs                    16.1M      4.0K     16.1M   0% /dev
/dev/mmcblk0p1          117.0G    512.0K    117.0G   0% /mnt

hi35183e增加exfat文件系统的支持相关推荐

  1. exfat文件系统-基于fuse

    简介 exfat文件系统规范:https://learn.microsoft.com/zh-CN/windows/win32/fileio/exfat-specification#6341-alloc ...

  2. Openwrt增加对 sd card 支持

    一.硬件平台 1.1 控制器:MT7620(A9内核) 二.软件平台 2.1.开发环境:Ubuntu12.04 2.2.软件版本:openwrt 官方15.05版本SDK开发包(CHAOS CALME ...

  3. Android 11.0 支持exFAT文件系统

    Android 11.0 支持exFAT文件系统 U盘常见文件系统类型有FAT32.NTFS.exFAT, Android默认支持FAT32,  一般也有NTFS类型编译选项, 但是exFAT由于版权 ...

  4. Android 7.0支持exfat文件系统

    网上看了一圈,关于Android移植exfat支持的文章大多停留在Android 4.x,Android 6.0或7.0以上的基本空缺,所以决定自己写一篇,本文实践环境是MTK的Android 7.0 ...

  5. linux内核 fat,微软宣布exFAT文件系统规范,希望被Linux内核接纳

    对于那些经常需要在 Linux 和 Windows 10 之间切换工作的人们来说,作为 FAT32 继任者的 exFAT 文件系统,能够为用户带来更好的体验.近日,微软宣布了 exFAT 文件系统规范 ...

  6. 有没有一种文件系统可以支持所有的操作系统(Win+Linux+Mac)而且支持大文件而且不需要辅助软件呢?

    有没有一种文件系统可以支持所有的操作系统(Win+Linux+Mac)而且支持大文件而且不需要辅助软件呢? 在Mac, Linux, Windows下,没有一种文件系统能够同时支持他们三者,还能支持大 ...

  7. linux 下exfat分区,exFAT 文件系统指南

    国庆假期,我拍了一些手机视频,打算存到新买的移动硬盘. 然后,就傻眼了.我的 Mac 电脑无法写入移动硬盘,因为移动硬盘的默认文件系统是 NTFS,Mac 不支持写入 NTFS. 虽然可以买一个软件解 ...

  8. Linux环境下挂载exfat格式U盘,以及安装exfat文件系统

    目录 Linux一般支持的文件系统有: 1.安装exfat软件 安装工具环境以及exfat件依赖的系统软件 下载exfat源码包并安装 2.挂载exfat格式U盘 查看U盘在那个目录 执行挂载命令 L ...

  9. U盘的FAT32/NTFS/exFAT文件系统类型区别详解

    U盘的FAT32/NTFS/exFAT文件系统类型区别详解 U盘相信大家非常熟悉了,用户在格式化U盘的时候可以选择文件系统:FAT32/NTFS/exFAT,那么这三个文件系统又有什么区别呢?下面我们 ...

最新文章

  1. 全球投资者为阿里尖叫!阿里CEO张勇详解天猫商业新力量
  2. 【Android工具】免费二次元追番神器,各种字幕组新番旧番良心资源,重要的事说三遍:没有广告!没有广告!没有广告...
  3. 信赖域反射算法求解非线性大规模边界约束极小化问题
  4. 我爱的人,你知道我一直在
  5. Linux网络编程 | IO模型 :阻塞IO、非阻塞IO、信号驱动IO、异步IO、多路复用IO
  6. 两周从爬虫小白变大神,看完你就知道我不是标题党了【五万字教程,建议收藏】
  7. C++基础::变量模板(variable template)
  8. Internet Explorer 7 功能
  9. 火遍日本 IT 界的「鱼书」终出续作,原来进阶深度学习竟然那么简单(文末赠书)...
  10. 信息学奥赛一本通:1132:石头剪子布
  11. WPS(word)批量给所有表格添加题注(标题)
  12. 联想计算机的控制面板在哪,Win10创意者的控制面板在哪?
  13. C语言基础-判断质数(素数)
  14. MFC视频播放器制作(OpenCV)
  15. How to Daemonize in Linux
  16. 标签管理系统Bartender 2022新版前瞻:企业用户随时随地标签打印变得更容易
  17. 4H5样式控制CSS1-美化网页元素
  18. c#获取计算机制造商信息
  19. Explaining and Harnessing Adversarial Examples
  20. 微信公众平台开发之模板消息(Java)

热门文章

  1. Python 语法小知识
  2. [Android]ListView性能优化之视图缓存
  3. Android之ListActivity(一):布局与数据绑定
  4. cisco2950交换机密码恢复
  5. JSON.stringify()
  6. university, school, college, department, institute的区别
  7. Centos7.4 版本环境下安装Mysql5.7操作记录
  8. c程序设计语言_习题8-4_重新实现c语言的库函数fseek(FILE*fp,longoffset,intorigin)
  9. 聊聊Oracle 11g的Snapshot Standby Database(上)
  10. poj12月其他题解(未完)