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開發板

推薦閱讀 換一批 換一批