zoukankan      html  css  js  c++  java
  • hi35183e增加exfat文件系统的支持

    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 plain copy
     
     print?在CODE上查看代码片派生到我的代码片
    1. <span style="font-size:14px;">#  
    2. # Makefile for the Linux fat filesystem support.  
    3. #  
    4.   
    5. obj-$(CONFIG_EXFAT_FS) += exfat.o  
    6.   
    7. exfat-y := exfat_core.o exfat_super.o exfat_api.o exfat_blkdev.o exfat_cache.o   
    8.                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

  • 相关阅读:
    cas 重复登录问题解决了。但是两个页签都是已登录状态,一个页签退出,另外一个页签正常访问应用程序。会出现下面报错信息。待解决
    flask 结合cas 出现的问题
    实验场景:两个页面登录状态下,一个logout.然后重新登录,一个页面刷新
    flask 生成excel并下载
    为什么不能在shell脚本中执行source /etc/profile或者source ~/.bashrc问题?
    centos7实现ssh免秘钥分发
    Drbd+Heatbeat实现NFS共享文件存储高可用
    docker监控方案实践(cadvisor+influxdb+grafana)
    centos7.5部署ELk
    keepalived+haproxy实现高可用负载均衡
  • 原文地址:https://www.cnblogs.com/lidabo/p/5893080.html
Copyright © 2011-2022 走看看