iMX6UL添加exFAT与ntfs格式U盘支持

原创 2022-06-18 15:51:00

一.   exFAT(以Linux3.14.38为例 Linux4.1.15同理)
内核需添加exFAT源码支持,需要下载exfat源码(自行搜索下载)。
修改fs/Kconfig,在 source “fs/fat/Kconfig” 下添加 source “fs/exfat/Kconfig”

    

修改fs/Makefile,obj-$ (CONFIG_FAT_FS) += fat/ 下添加 obj-$(CONFIG_EXFAT_FS) += exfat/

    

然后在menuconfig下配置exfat选项

    

    

    

   注:NTFS默认是开启状态

修改完后make zImage编译内核  得到zImage镜像,烧写到板子上,之后插上exfatU盘

可自动挂载。

mount –t exfat /dev/sda1 /media/sda1            手动挂载命令

 

二.   ntfs(linux5.15版本以后  内核自带读写驱动)
由于Linux系统认为对ntfs类型的系统进行写入是不安全的,所以需要交叉编译ntfs-3g工具来读写ntfs优盘。
将源码(自行搜索下载)解压到开发环境

进入源码目录(示例为/home/ntfs-3g_ntfsprogs-2021.8.22/),先生成makefile

# ./configure CC=arm-none-linux-gnueabi-gcc -host=arm-linux --prefix=/home/ntfs-3g_ntfsprogs-2021.8.22/usr --exec-prefix=/home/ntfs-3g_ntfsprogs-2021.8.22/usr

# make

# make install

之后在/home/ntfs-3g_ntfsprogs-2021.8.22/usr/下生成bin与lib文件夹 将bin/ntfs-3g与/lib拷贝到板子上

先打包/home/ntfs-3g_ntfsprogs-2021.8.22/usr/lib

# cd /home/ntfs-3g_ntfsprogs-2021.8.22/usr/lib

# tar cvzf lib.tar.bz2 ./*

再在板子上解压到/lib内

# tar xvf lib.tar.bz2 –C /lib

将ntfs-3g可执行程序拷贝到板子/bin目录下并赋予权限

# chmod 777 /bin/ntfs-3g

 

插入ntfs格式优盘
虽然自动挂载上了  但是无法写入内容

    

先卸载 umount /media/sda1

再使用ntfs-3g挂载  ntfs-3g /dev/sda1 /media/sda1

 

也可以设置自动挂载ntfs格式优盘

修改自动挂载脚本

# vi /etc/udev/scripts/mount.sh

红字为修改内容  仅供参考

MOUNT="/bin/mount"

PMOUNT="/usr/bin/pmount"

UMOUNT="/bin/umount"

NTFS="/bin/ntfs-3g"

for line in `grep -v ^# /etc/udev/mount.blacklist`

do

        if [ ` expr match "$DEVNAME" "$line" ` -gt 0 ];

        then

                logger "udev/mount.sh" "[$DEVNAME] is blacklisted, ignoring"

                exit 0

        fi

done

automount() {

        name="`basename "$DEVNAME"`"

 

 ! test -d "/media/$name" && mkdir -p "/media/$name"

if $NTFS $DEVNAME "/media/$name"

  then

  logger "mount.sh/ntfs-3g" "Auto-mount of [/media/$name] successful"

  touch "/tmp/.automount-$name"

elif $MOUNT -t auto $DEVNAME "/media/$name"

  then

  logger "mount.sh/automount" "Auto-mount of [/media/$name] successful"

  touch "/tmp/.automount-$name"

else

#logger "mount.sh/automount" "$MOUNT" -t auto $DEVNAME \"/media/$name\ "failed!"

  rm_dir "/media/$name"

fi

}

 

相关产品 >

  • FETMX6UL-C核心板 商业级

    飞凌嵌入式商业级iMX6UL核心板采用NXP公司ARM Cortex-A7 i.MX6UL处理器,板载512MB DDR3内存和4GB高速eMMC存储器。飞凌嵌入式级imx6ul核心板体积小巧并具有成本优势,为了更好的让客户进行二次开发,飞凌提供了iMX6UL的PCB文件,包含底板的原理图和PCB文件,提供了i.MX6UL核心板数据手册,IMX6UL核心板硬件手册;为了适应不同应用环境,飞凌IMX6UL核心板兼容IMX6ULL并同时具备工业级、商业级两种不同的配置。

    了解详情
    FETMX6UL-C核心板 商业级
  • OKMX6UL-C开发板

    飞凌嵌入式专注imx6系列imx6ul开发板、飞思卡尔imx6ul核心板等ARM嵌入式核心控制系统研发、设计和生产,i.mx6UL系列产品现已畅销全国,作为恩智浦imx6ul,imx6ul开发板,i.mx6提供者,飞凌嵌入式提供基于iMX6 iMX6UL解决方案定制。

    了解详情
    OKMX6UL-C开发板

推荐阅读 换一批 换一批