iMX6UL添加exFAT與ntfs格式U盤(pán)支持

原創(chuàng) 2022-06-18 15:51:00

一.   exFAT(以Linux3.14.38為例 Linux4.1.15同理)
內(nèi)核需添加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選項(xiàng)

    

    

    

   注:NTFS默認(rèn)是開(kāi)啟狀態(tài)

修改完后make zImage編譯內(nèi)核  得到zImage鏡像,燒寫(xiě)到板子上,之后插上exfatU盤(pán)

可自動(dòng)掛載。

mount –t exfat /dev/sda1 /media/sda1            手動(dòng)掛載命令

 

二.   ntfs(linux5.15版本以后  內(nèi)核自帶讀寫(xiě)驅(qū)動(dòng))
由于Linux系統(tǒng)認(rèn)為對(duì)ntfs類型的系統(tǒng)進(jìn)行寫(xiě)入是不安全的,所以需要交叉編譯ntfs-3g工具來(lái)讀寫(xiě)ntfs優(yōu)盤(pán)。
將源碼(自行搜索下載)解壓到開(kāi)發(fā)環(huán)境

進(jìn)入源碼目錄(示例為/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內(nèi)

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

將ntfs-3g可執(zhí)行程序拷貝到板子/bin目錄下并賦予權(quán)限

# chmod 777 /bin/ntfs-3g

 

插入ntfs格式優(yōu)盤(pán)
雖然自動(dòng)掛載上了  但是無(wú)法寫(xiě)入內(nèi)容

    

先卸載 umount /media/sda1

再使用ntfs-3g掛載  ntfs-3g /dev/sda1 /media/sda1

 

也可以設(shè)置自動(dòng)掛載ntfs格式優(yōu)盤(pán)

修改自動(dòng)掛載腳本

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

紅字為修改內(nèi)容  僅供參考

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

}

 

相關(guān)產(chǎn)品 >

  • FETMX6UL-C核心板 商業(yè)級(jí)

    飛凌嵌入式商業(yè)級(jí)iMX6UL核心板采用NXP公司ARM Cortex-A7 i.MX6UL處理器,板載512MB DDR3內(nèi)存和4GB高速eMMC存儲(chǔ)器。飛凌嵌入式級(jí)imx6ul核心板體積小巧并具有成本優(yōu)勢(shì),為了更好的讓客戶進(jìn)行二次開(kāi)發(fā),飛凌提供了iMX6UL的PCB文件,包含底板的原理圖和PCB文件,提供了i.MX6UL核心板數(shù)據(jù)手冊(cè),IMX6UL核心板硬件手冊(cè);為了適應(yīng)不同應(yīng)用環(huán)境,飛凌IMX6UL核心板兼容IMX6ULL并同時(shí)具備工業(yè)級(jí)、商業(yè)級(jí)兩種不同的配置。

    了解詳情
    FETMX6UL-C核心板 商業(yè)級(jí)
  • OKMX6UL-C開(kāi)發(fā)板

    飛凌嵌入式專注imx6系列imx6ul開(kāi)發(fā)板、飛思卡爾imx6ul核心板等ARM嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計(jì)和生產(chǎn),i.mx6UL系列產(chǎn)品現(xiàn)已暢銷全國(guó),作為恩智浦imx6ul,imx6ul開(kāi)發(fā)板,i.mx6提供者,飛凌嵌入式提供基于iMX6 iMX6UL解決方案定制。

    了解詳情
    OKMX6UL-C開(kāi)發(fā)板

推薦閱讀 換一批 換一批