hi35183e增加exfat文件系统的支持
2016-01-14 18:11
274 查看
64G-128G的tf卡文件系统格式为exfat,而hi3518e默认只支持fat32格式的tf卡。为了挂载64G以上的tf卡,只能将sd卡先格式化成FAT32。鉴于exfat性能比FAT32强,因此考虑移植exfat驱动到海思3518e平台,这样就不用强制格式化tf卡。
if BLOCK
menu "DOS/FAT/NT Filesystems"
source "fs/fat/Kconfig"
source "fs/exfat/Kconfig"
source "fs/ntfs/Kconfig"
obj-$(CONFIG_MINIX_FS)+= minix/
obj-$(CONFIG_FAT_FS) += fat/
obj-$(CONFIG_EXFAT_FS) += exfat/
进入图形化配置界面
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 /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
拷贝驱动源码到内核
# 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/Kconfigif BLOCK
menu "DOS/FAT/NT Filesystems"
source "fs/fat/Kconfig"
source "fs/exfat/Kconfig"
source "fs/ntfs/Kconfig"
修改fs/Makefile
# vi ./fs/Makefileobj-$(CONFIG_MINIX_FS)+= minix/
obj-$(CONFIG_FAT_FS) += fat/
obj-$(CONFIG_EXFAT_FS) += exfat/
exfat层makefile示例
<span style="font-size:14px;"># # Makefile for the Linux fat filesystem support. # obj-$(CONFIG_EXFAT_FS) += exfat.o exfat-y := exfat_core.o exfat_super.o exfat_api.o exfat_blkdev.o exfat_cache.o \ 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
相关文章推荐
- bind 返回(Can't assign requested address)
- c/c++ 拼接字符串 与函数传参时数组不是传值
- 良好的编程习惯避免内存泄露
- js 创建对象的几种方法总结
- 趣味SQL:用SQL计算瓷砖费用
- 为何编程难以管理?
- Device_Tree_Usage(设备树用法)
- 枚举类型enum
- java file模糊匹配某文件夹下的文件并删除
- 定时器(NSTimer)
- php session 生命周期代码实例
- Swift-04-Designated&&Convenience
- Linux Netcat 命令——网络工具中的瑞士军刀
- 极力推荐 自学视频java、php、python、android、objective-C教程
- 学习设计模式原则之依赖倒置原则,代码笔记
- strut中,如何向台传输LIST类型的数据
- ios 写项目的时候遇到的问题及解决方案(3)
- 使用LevelListDrawable实现一个动画控件
- usb mass storage device
- js实现table同列的合并