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示例

  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. 在内核中增加对yaffs文件系统的支持

    自己最近在搞一些内核以及根文件系统的移植,就涉及到了需要在内核中增加对yaffs文件系统的支持.在网上找了一些文档后,自己将具体的操作过程做了一个总结,方便以后查询使用: 1.获取yaffs源码 YA ...

  2. FAT和EXFAT文件系统

    文件系统 文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构:即在磁盘上组织文件的方法.在移动存储设备上比较常用的有FAT文件系统和ExFAT文件系统. FAT分区依据FAT表中每个簇链的所 ...

  3. 三星在GPL下发布其exFAT文件系统实现源码

    exFAT文件系统是微软的一个产品,设计让外置储存设备和PC之间实现无缝的TB级数据转移和数据交换,它只支持Windows和OS X,不支持Linux.作为一个含有大量专利的私有产品,没有人会预计它会 ...

  4. 文件系统 - Linux 支持的文件系统类型

    NAME 文件系统 - Linux 支持的文件系统类型:minix, ext, ext2, xia, msdos, umsdos, vfat, proc, nfs, iso9660, hpfs, sy ...

  5. NTFS,FAT32和exFAT文件系统的区别

    NTFS,FAT32和exFAT文件系统的区别 本文所有资料来源于网络,仅做个人学习使用,如有侵权,请联系删除 1.什么是文件系统 文件系统是系统对文件的存放排列方式,不同格式的文件系统关系到数据是如 ...

  6. Ubuntu---不能打开 exfat 文件系统格式的 U盘解决方法

    出现问题:今天把 U 盘插入 Ubuntu 系统的电脑中,打开 U 盘发现弹出 系统格式不支持 的提醒,无法进入 U 盘进行操作. 环境: Ubuntu18.04 TSL; 格式化为 exfat 文件 ...

  7. php增加对mysqli的支持

    php增加对mysqli的支持   我在fedora下使用yum安装的php和mysql,但是发现php不支持myslqi,只能编译一个mysqli的扩展给php用了. 方法如下: 1.下载php 2 ...

  8. HTTP实现长连接(TTP1.1和HTTP1.0相比较而言,最大的区别就是增加了持久连接支持Connection: keep-alive)

    HTTP实现长连接 HTTP是无状态的 也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接.如果客户端浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web ...

  9. 内核添加对yaffs2文件系统的支持

    移植方法: 第一步,我们需要YAFFS2的源码,如果大家有兴趣想了解YAFFS2文件系统的驱动原理的话可以直接去访问他们的官网,地址是www.yaffs2.net,上面说的很详细的,也有源码下载地址, ...

随机推荐

  1. Android多分辨率适配经验总结

      Android多分辨率适配是一件很有意义但是比较麻烦的事情,网上有很多关于多分辨率适配的文章,多数文章讲解的都是整个APP的图片比较规则,可以将图片做成9图来完成多分辨率适配,但是对于一些游戏类应 ...

  2. Spring MVC 通过@Value注解读取.properties配置内容

    第一步:在applicationContext.xml配置: <bean id="configProperties" class="org.springframew ...

  3. ISBN号码

    总时间限制:  1000ms 内存限制:  65536kB 描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx- ...

  4. linux中的find命令——查找文件名

    1.在某目录下查找名为“elm.cc”的文件 find /home/lijiajia/ -name elm.cc 2.查找文件名中包含某字符(如"elm")的文件 find /ho ...

  5. Agent admitted failure to sign using the key

    SSH生成id_rsa, id_rsa.pub后,连接服务器却报: Agent admitted failure to sign using the key 错误. 解决方法: 在当前用户下执行命令: ...

  6. nginx 偶发 403原因

    观察errorlog 日志 是否存在类似错误 [error] 12788#0: *322 connection is denied by policyframe[return code:8], 观察是 ...

  7. entity framework里的继承映射关系TPH、TPT和TPC

    本章节讲解EF里的继承映射关系,分为TPH.TPT.TPC.具体: 1.TPH:Table Per Hierarchy 这是EF的默认的继承映射关系:一张表存放基类和子类的所有列,自动生成的discr ...

  8. XML 命名空间(XML Namespaces)

    XML 应用程序 XML CDATA XML 命名空间提供避免元素命名冲突的方法. 命名冲突 在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突. 这个 X ...

  9. 剑指offer(07)-调整数组顺序使奇数位于偶数前面【转】

    来源:http://www.acmerblog.com/offer-6-2429/ 题目来自剑指offer系列 九度 1516 题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得 ...

  10. linux下文件合并、分割、去重

    1.文件合并 1.1文件上下合并 cat f1 f2> muti  (将文件f1.f2合并成文件muti,f1在上,f2在下) 1.2左右合并 paste f1 f2 > muti  (将 ...