Linux操作系統通常能夠自動識別并掛載FAT32格式的磁盤,然而由于FAT32文件系統的限制,單個文件的最大存儲容量不得超過4GB。為了解決大文件傳輸問題,可選用exFAT或NTFS格式來替代。
接下來將給各位小伙伴介紹一下如何通過對ELF 1開發板進行配置,以實現對exFAT和NTFS格式U盤以及SD卡的支持與掛載。
exFAT
1、內核源碼中需要添加exFAT源碼的支持,從下述鏈接下載exfat.zip源碼包并拷貝到內核源代碼fs/文件下解壓。
獲取exfat.zip地址:pan.baidu.com/s/1wYjBgq80a6te0_oEoyC5qQ?pwd=1twp(提取碼:1twp)
elf@ubuntu:~/work/ELF/linux-4.1.15-elf1/fs$ unzip exfat.zip
2、修改fs/Kconfig文件,在source "fs/fat/Kconfig"下面添加source "fs/exfat/Kconfig"

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

4、配置源碼
elf@ubuntu:~/work/ELF/linux-4.1.15-elf1/fs$ cd .. elf@ubuntu:~/work/ELF/linux-4.1.15-elf1$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi elf@ubuntu:~/work/ELF/linux-4.1.15-elf1$ make imx6ull_elf1_defconfig elf@ubuntu:~/work/ELF/linux-4.1.15-elf1$ make menuconfig
File systems --->
DOS/FAT/NT Filesystems --->
參考下圖進行配置:

修改完后保存退出,需要注意的是NTFS也在此處開啟。
5、編譯內核
elf@ubuntu:~/work/ELF/linux-4.1.15-elf1$ make zImage
6、拷貝zImage到ELF 1開發板上
elf@ubuntu:~/work/ELF/linux-4.1.15-elf1$scparch/arm/boot/[email protected]:/run/media/mmcblk1p1
7、開發板保存重啟
root@ELF1:~# sync root@ELF1:~# reboot
8、等待重啟完成,U盤格式化為exFAT格式,插到ELF 1開發板上,可自動掛載

手動掛載命令:mount –t exfat /dev/sda1 run/media/sda1
NTFS
由于Linux系統認為對NTFS類型的系統進行寫入是不安全的,所以需要交叉編譯ntfs-3g工具來讀寫NTFS格式的U盤。
1、將下述鏈接的ntfs-3g_ntfsprogs-2021.8.22.tgz拷貝到開發境/home/elf/work目錄下解壓
ntfs-3g_ntfsprogs-2021.8.22.tgz獲取地址:pan.baidu.com/s/1Q4diFDD7ooeit7ajWy_aRQ?pwd=wrpg(提取碼:wrpg)
elf@ubuntu:~/work$ tar zxvf ntfs-3g_ntfsprogs-2021.8.22.tgz elf@ubuntu:~/work$ cd ntfs-3g_ntfsprogs-2021.8.22/
2、切換到root用戶
elf@ubuntu:~/work/ntfs-3g_ntfsprogs-2021.8.22$ sudo su root [sudo] elf 的密碼://輸入密碼,無回顯 root@ubuntu:/home/elf/work/ntfs-3g_ntfsprogs-2021.8.22#
3、生成Makefile
root@ubuntu:/home/elf/work/ntfs-3g_ntfsprogs-2021.8.22# . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi root@ubuntu:/home/elf/work/ntfs-3g_ntfsprogs-2021.8.22# mkdir /home/elf/work/ntfs-3g_ntfsprogs-2021.8.22/__install root@ubuntu:/home/elf/work/ntfs-3g_ntfsprogs-2021.8.22# ./configure -host=arm-linux --prefix=/home/elf/work/ntfs-3g_ntfsprogs-2021.8.22/__install/ --exec-prefix=/home/elf/work/ntfs-3g_ntfsprogs-2021.8.22/__install/ root@ubuntu:/home/elf/work/ntfs-3g_ntfsprogs-2021.8.22# make root@ubuntu:/home/elf/work/ntfs-3g_ntfsprogs-2021.8.22# make install
注:--prefix后的目錄依照個人路徑而定。
編譯完成后在/home/elf/work/ntfs-3g_ntfsprogs-2021.8.22/__install/下生成bin和lib文件夾。
4、將bin/ntfs-3g與/lib拷貝到ELF1開發板
先打包/home/elf/work/ntfs-3g_ntfsprogs-2021.8.22/__install/lib
root@ubuntu:/home/elf/work/ntfs-3g_ntfsprogs-2021.8.22# cd __install/lib/ root@ubuntu:/home/elf/work/ntfs-3g_ntfsprogs-2021.8.22/__install/lib# tar -cvjf lib.tar.bz2 *
拷貝壓縮包到ELF 1開發板/lib目錄下
root@ubuntu:/home/elf/work/ntfs-3g_ntfsprogs-2021.8.22/__install/lib# scp lib.tar.bz2 [email protected]:/lib
在開發板上解壓
root@ELF1:~# cd /lib/ root@ELF1:/lib# tar xvf lib.tar.bz2
再將/home/elf/work/ntfs-3g_ntfsprogs-2021.8.22/__install/bin/ntfs-3g可執行程序拷貝到ELF 1開發板/bin目錄下
root@ubuntu:/home/elf/work/ntfs-3g_ntfsprogs-2021.8.22/__install/bin#[email protected]:/bin
賦予權限
root@ELF1:/bin# chmod 777 ntfs-3g
5、將U盤格式化為NTFS格式,插到ELF 1開發板上,可自動掛載

雖然自動掛載上了,但是無法寫入內容
root@ELF1:~# touch ceshi.sh root@ELF1:~# cp ceshi.sh /run/media/sda1/ cp: cannot create regular file '/run/media/sda1/ceshi.sh': Read-only file system
先卸載
root@ELF1:~# umount /run/media/sda1
再使用ntfs-3g工具掛載
root@ELF1:~# ntfs-3g /dev/sda1 /run/media/sda1
再次寫入
root@ELF1:~# cp ceshi.sh /run/media/sda1/ root@ELF1:~# ls /run/media/sda1/ ceshi.sh
寫入成功。
上述內容是針對ELF 1開發板以實現對exFAT和NTFS文件系統支持的全過程。期待這份教程能夠為各位小伙伴帶來切實的幫助與啟發!
-
嵌入式
+關注
關注
5121文章
19416瀏覽量
312596 -
NTFS
+關注
關注
0文章
12瀏覽量
8681 -
開發板
+關注
關注
25文章
5374瀏覽量
100545
發布評論請先 登錄
相關推薦
ElfBoard技術貼|ELF 1開發板適配攝像頭詳解

嵌入式學習-ElfBoard ELF 1板卡-使ELF 1開發板支持exFAT和NTFS格式的方法
怎么將NTFS格式的硬盤,格式化成XET3格式的也是就LINUX可以...
樹莓派掛載NTFS格式硬盤
Linux中掛載NTFS格式的硬盤的方法
ESP32是否可以使用新的NTFS MicroSD卡格式?
格式化u盤文件系統選哪個
FAT32、exFAT與NTFS分別是什么?
ELF 1技術貼|LCD作為終端控制臺的方法

ELF技術貼|如何在開發板上實現對Java的支持

評論