基于RK3588設計的ELF 2開發板在搭載Desktop 22.04系統時,對TF卡的文件系統支持存在以下限制:
不支持exFAT格式;
支持NTFS格式,但需手動掛載;
針對上述兼容性問題,本文將介紹如何通過系統配置實現對該兩種文件系統的支持,并配置自動掛載功能。
Windows系統格式化存儲設備
在使用TF卡前,需通過Windows自帶工具將其格式化為目標文件系統(exFAT或NTFS),操作步驟如下:
2、打開“此電腦”;
3、在U盤圖標上右鍵單擊,選擇“格式化”;
4、在彈出的格式化窗口中選擇所需的文件系統格式(exFAT或NTFS);
5、點擊 “開始”,完成存儲設備的格式化操作;
內核添加文件系統支持
通過內核配置添加exFAT和NTFS格式支持,需完成以下步驟:
打開圖形配置界面
1、進入源碼目錄并啟動配置工具
在Ubuntu終端中執行以下命令:
elf@ubuntu:~/work/ELF2-linux-source$ ./build.sh kconfig
2、配置文件系統支持項
在彈出的內核配置界面中,導航至DOS/FAT/EXFAT/NT Filesystems菜單,勾選以下選項:

保存配置并退出。
編譯文件系統鏡像
1、執行編譯命令
配置保存后,在終端中運行:
elf@ubuntu:~/work/ELF2-linux-source$ ./build.sh kernel
2、獲取輸出文件
編譯完成后,生成的文件系統鏡像會存儲在output/firmware目錄下,其中boot.img即為需要燒錄到開發板的鏡像。
更新系統到開發板
參考《ELF 2開發板編譯手冊》中“5.3更新內核”章節的詳細步驟,將生成的boot.img鏡像燒錄至ELF 2開發板,完成系統更新。
測試驗證
手動掛載exFAT
1、查看文件系統掛載點
執行df -h命令,無TF卡掛載信息:
root@elf2-desktop:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/root 14G 4.6G 8.6G 35% / tmpfs 7.8G 0 7.8G 0% /dev/shm tmpfs 3.2G 2.5M 3.2G 1% /run tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 7.8G 12K 7.8G 1% /tmp /dev/mmcblk0p7 123M 12M 108M 10% /oem /dev/mmcblk0p8 96G 284M 92G 1% /userdata tmpfs 1.6G 84K 1.6G 1% /run/user/1000 tmpfs 1.6G 56K 1.6G 1% /run/user/0
2、確認設備節點
執行fdisk -l命令查看TF卡分區信息,確認TF卡設備節點為/dev/mmcblk1:
root@elf2-desktop:~# fdisk -l Disk /dev/ram0: 4 MiB, 4194304 bytes, 8192 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk /dev/mmcblk0: 115.23 GiB, 123731968000 bytes, 241664000 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 83480000-0000-4658-8000-52E4000055BA Device Start End Sectors Size Type /dev/mmcblk0p1 16384 24575 8192 4M unknown /dev/mmcblk0p2 24576 32767 8192 4M unknown /dev/mmcblk0p3 32768 163839 131072 64M unknown /dev/mmcblk0p4 163840 425983 262144 128M unknown /dev/mmcblk0p5 425984 491519 65536 32M unknown /dev/mmcblk0p6 491520 29851647 29360128 14G unknown /dev/mmcblk0p7 29851648 30113791 262144 128M unknown /dev/mmcblk0p8 30113792 241663966 211550175 100.9G unknown Disk /dev/mmcblk1: 59.48 GiB, 63864569856 bytes, 124735488 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x00000000 Device Boot Start End Sectors Size Id Type /dev/mmcblk1p1 4294967295 8589934589 4294967295 2T ff BBT /dev/mmcblk1p2 4294967295 8589934589 4294967295 2T ff BBT /dev/mmcblk1p3 4294967295 8589934589 4294967295 2T ff BBT /dev/mmcblk1p4 4294967295 6854241533 2559274239 1.2T ff BBT
3、手動掛載
創建exfat_fs目錄作為exFAT格式TF卡的掛載點,-t exfat指定文件系統類型為exFAT,將dev/mmcblk1掛載到exfat_fs/。
root@elf2-desktop:~# mkdir exfat_fs root@elf2-desktop:~# mount -t exfat /dev/mmcblk1 exfat_fs/
4、查看文件系統掛載點
再次查看掛載狀態,確認dev/mmcblk1已掛載到exfat_fs/(驗證掛載成功)。
root@elf2-desktop:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/root 14G 4.6G 8.6G 35% / tmpfs 7.8G 0 7.8G 0% /dev/shm tmpfs 3.2G 2.5M 3.2G 1% /run tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 7.8G 12K 7.8G 1% /tmp /dev/mmcblk0p7 123M 12M 108M 10% /oem /dev/mmcblk0p8 96G 284M 92G 1% /userdata tmpfs 1.6G 84K 1.6G 1% /run/user/1000 tmpfs 1.6G 56K 1.6G 1% /run/user/0 /dev/mmcblk1 60G 896K 60G 1% /root/exfat_fs
5、讀寫驗證
root@elf2-desktop:~# echo 1 > exfat_fs/test.txt root@elf2-desktop:~# sync root@elf2-desktop:~# cat exfat_fs/test.txt 1
6、卸載TF卡
TF卡使用完成后,在彈出TF卡前,需要使用umount命令卸載TF卡:
root@elf2-desktop:~# umount exfat_fs
手動掛載NTFS
1、查看文件系統掛載點
執行df -h命令,無TF卡掛載信息:
root@elf2-desktop:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/root 14G 4.6G 8.5G 36% / tmpfs 7.8G 0 7.8G 0% /dev/shm tmpfs 3.2G 2.5M 3.2G 1% /run tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 7.8G 12K 7.8G 1% /tmp /dev/mmcblk0p7 123M 12M 108M 10% /oem /dev/mmcblk0p8 96G 284M 92G 1% /userdata tmpfs 1.6G 88K 1.6G 1% /run/user/1000 tmpfs 1.6G 56K 1.6G 1% /run/user/0
2、確認設備節點
執行fdisk -l命令查看TF卡分區信息,確認TF卡設備節點為/dev/mmcblk1:
root@elf2-desktop:~# fdisk -l Disk /dev/ram0: 4 MiB, 4194304 bytes, 8192 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk /dev/mmcblk0: 115.23 GiB, 123731968000 bytes, 241664000 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 50530000-0000-4F1D-8000-4315000064BF Device Start End Sectors Size Type /dev/mmcblk0p1 16384 24575 8192 4M unknown /dev/mmcblk0p2 24576 32767 8192 4M unknown /dev/mmcblk0p3 32768 163839 131072 64M unknown /dev/mmcblk0p4 163840 425983 262144 128M unknown /dev/mmcblk0p5 425984 491519 65536 32M unknown /dev/mmcblk0p6 491520 29851647 29360128 14G unknown /dev/mmcblk0p7 29851648 30113791 262144 128M unknown /dev/mmcblk0p8 30113792 241663966 211550175 100.9G unknown Disk /dev/mmcblk1: 59.48 GiB, 63864569856 bytes, 124735488 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x73736572 Device Boot Start End Sectors Size Id Type /dev/mmcblk1p1 1920221984 3736432267 1816210284 866G 72 unknown /dev/mmcblk1p2 1936028192 3889681299 1953653108 931.6G 6c unknown /dev/mmcblk1p3 0 0 0 0B 0 Empty /dev/mmcblk1p4 27722122 27722568 447 223.5K 0 Empty Partition table entries are not in disk order.
3、手動掛載
創建ntfs_fs目錄作為NTFS格式TF卡的掛載點,-t ntfs-3g指定使用ntfs-3g驅動掛載NTFS格式(Linux 下NTFS讀寫的常用驅動),將dev/mmcblk1掛載到ntfs_fs/。
root@elf2-desktop:~# mkdir ntfs_fs root@elf2-desktop:~# mount -t ntfs-3g /dev/mmcblk1 ntfs_fs/
4、查看文件系統掛載點
root@elf2-desktop:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/root 14G 4.6G 8.5G 36% / tmpfs 7.8G 0 7.8G 0% /dev/shm tmpfs 3.2G 2.5M 3.2G 1% /run tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 7.8G 12K 7.8G 1% /tmp /dev/mmcblk0p7 123M 12M 108M 10% /oem /dev/mmcblk0p8 96G 284M 92G 1% /userdata tmpfs 1.6G 88K 1.6G 1% /run/user/1000 tmpfs 1.6G 56K 1.6G 1% /run/user/0 /dev/mmcblk1 60G 88M 60G 1% /root/ntfs_fs
5、讀寫驗證
root@elf2-desktop:~# echo 1 > ntfs_fs/test.txt root@elf2-desktop:~# sync root@elf2-desktop:~# cat ntfs_fs/test.txt 1
6、卸載TF卡
TF卡使用完成后,在彈出TF卡前,需要使用umount命令卸載TF卡:
root@elf2-desktop:~# umount ntfs_fs
自動掛載exFAT
1、確認設備節點
執行fdisk -l命令查看TF卡分區信息,確認TF卡設備節點為/dev/mmcblk1:
root@elf2-desktop:~# fdisk -l Disk /dev/ram0: 4 MiB, 4194304 bytes, 8192 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk /dev/mmcblk0: 115.23 GiB, 123731968000 bytes, 241664000 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: D06F0000-0000-4C4B-8000-216D000071A3 Device Start End Sectors Size Type /dev/mmcblk0p1 16384 24575 8192 4M unknown /dev/mmcblk0p2 24576 32767 8192 4M unknown /dev/mmcblk0p3 32768 163839 131072 64M unknown /dev/mmcblk0p4 163840 425983 262144 128M unknown /dev/mmcblk0p5 425984 491519 65536 32M unknown /dev/mmcblk0p6 491520 29851647 29360128 14G unknown /dev/mmcblk0p7 29851648 30113791 262144 128M unknown /dev/mmcblk0p8 30113792 241663966 211550175 100.9G unknown Disk /dev/mmcblk1: 59.48 GiB, 63864569856 bytes, 124735488 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x00000000 Device Boot Start End Sectors Size Id Type /dev/mmcblk1p1 4294967295 8589934589 4294967295 2T ff BBT /dev/mmcblk1p2 4294967295 8589934589 4294967295 2T ff BBT /dev/mmcblk1p3 4294967295 8589934589 4294967295 2T ff BBT /dev/mmcblk1p4 4294967295 6854241533 2559274239 1.2T ff BBT
2、查看TF卡UUID或設備名
root@elf2-desktop:~# blkid /dev/mmcblk0p7: LABEL="oem" UUID="5fce90f2-82c7-401e-8ccd-b265d1d1a04e" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="oem" PARTUUID="a9390000-0000-4339-8000-737c00004c7d" /dev/mmcblk0p5: PARTLABEL="backup" PARTUUID="0b7f0000-0000-484e-8000-37da00004385" /dev/mmcblk0p3: PARTLABEL="boot" PARTUUID="7a3f0000-0000-446a-8000-702f00006273" /dev/mmcblk0p1: PARTLABEL="uboot" PARTUUID="fa0f0000-0000-4829-8000-6e9700004422" /dev/mmcblk0p8: LABEL="userdata" UUID="0ab8136a-151e-4ecb-8c4e-bcba85a0ef17" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="userdata" PARTUUID="59490000-0000-4b30-8000-47ea00003767" /dev/mmcblk0p6: UUID="4d1b5f8b-020c-499a-bac9-269c5104f9e7" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="rootfs" PARTUUID="614e0000-0000-4b53-8000-1d28000054a9" /dev/mmcblk0p4: PARTLABEL="recovery" PARTUUID="8e500000-0000-4554-8000-7a1500002ce6" /dev/mmcblk0p2: PARTLABEL="misc" PARTUUID="4d2e0000-0000-4d59-8000-14bb00003cfd" /dev/mmcblk1: LABEL="M-fM-^VM-0M-eM-^JM- M-eM-^MM-7" UUID="24BD-6CCA" BLOCK_SIZE="512" TYPE="exfat"
3、創建掛載點目錄
root@elf2-desktop:~# mkdir -p /mnt/sdcard
4、編輯/etc/fstab文件
root@elf2-desktop:~# vi /etc/fstab
文件內容如下:
# /dev/root / ext4 rw,noauto 0 1 proc /proc proc defaults 0 0 devpts /dev/pts devpts defaults,gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs mode=0777 0 0 tmpfs /tmp tmpfs mode=1777 0 0 tmpfs /run tmpfs mode=0755,nosuid,nodev 0 0 sysfs /sys sysfs defaults 0 0 debug /sys/kernel/debug debugfs defaults 0 0 pstore /sys/fs/pstore pstore defaults 0 0 /dev/mmcblk0p7 /oem ext4 defaults 0 0 /dev/mmcblk0p8 /userdata ext4 defaults 0 0 /dev/mmcblk1 /mnt/sdcard exfat defaults,nofail 0 0
含義:

5、保存重啟
root@elf2-desktop:~# sync root@elf2-desktop:~# reboot
6、查看文件系統掛載點
重啟后TF卡自動掛載到/mnt/sdcard(自動掛載成功):
root@elf2-desktop:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/root 14G 4.6G 8.5G 36% / tmpfs 7.8G 0 7.8G 0% /dev/shm tmpfs 3.2G 2.5M 3.2G 1% /run tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 7.8G 12K 7.8G 1% /tmp /dev/mmcblk0p7 123M 12M 108M 10% /oem /dev/mmcblk0p8 96G 284M 92G 1% /userdata /dev/mmcblk1 60G 768K 60G 1% /mnt/sdcard tmpfs 1.6G 84K 1.6G 1% /run/user/1000 tmpfs 1.6G 56K 1.6G 1% /run/user/0
7、讀寫驗證
root@elf2-desktop:~# echo 1 > /mnt/sdcard/test.txt root@elf2-desktop:~# sync root@elf2-desktop:~# cat /mnt/sdcard/test.txt 1
自動掛載NTFS
1、確認設備節點
執行fdisk -l命令查看TF卡分區信息,確認TF卡設備節點為/dev/mmcblk1:
root@elf2-desktop:~# fdisk -l Disk /dev/ram0: 4 MiB, 4194304 bytes, 8192 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk /dev/mmcblk0: 115.23 GiB, 123731968000 bytes, 241664000 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 50530000-0000-4F1D-8000-4315000064BF Device Start End Sectors Size Type /dev/mmcblk0p1 16384 24575 8192 4M unknown /dev/mmcblk0p2 24576 32767 8192 4M unknown /dev/mmcblk0p3 32768 163839 131072 64M unknown /dev/mmcblk0p4 163840 425983 262144 128M unknown /dev/mmcblk0p5 425984 491519 65536 32M unknown /dev/mmcblk0p6 491520 29851647 29360128 14G unknown /dev/mmcblk0p7 29851648 30113791 262144 128M unknown /dev/mmcblk0p8 30113792 241663966 211550175 100.9G unknown Disk /dev/mmcblk1: 59.48 GiB, 63864569856 bytes, 124735488 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x73736572 Device Boot Start End Sectors Size Id Type /dev/mmcblk1p1 1920221984 3736432267 1816210284 866G 72 unknown /dev/mmcblk1p2 1936028192 3889681299 1953653108 931.6G 6c unknown /dev/mmcblk1p3 0 0 0 0B 0 Empty /dev/mmcblk1p4 27722122 27722568 447 223.5K 0 Empty Partition table entries are not in disk order.
2、查看TF卡UUID或設備名
root@elf2-desktop:~# blkid /dev/mmcblk0p7: LABEL="oem" UUID="5fce90f2-82c7-401e-8ccd-b265d1d1a04e" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="oem" PARTUUID="a9390000-0000-4339-8000-737c00004c7d" /dev/mmcblk0p5: PARTLABEL="backup" PARTUUID="0b7f0000-0000-484e-8000-37da00004385" /dev/mmcblk0p3: PARTLABEL="boot" PARTUUID="7a3f0000-0000-446a-8000-702f00006273" /dev/mmcblk0p1: PARTLABEL="uboot" PARTUUID="fa0f0000-0000-4829-8000-6e9700004422" /dev/mmcblk0p8: LABEL="userdata" UUID="0ab8136a-151e-4ecb-8c4e-bcba85a0ef17" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="userdata" PARTUUID="59490000-0000-4b30-8000-47ea00003767" /dev/mmcblk0p6: UUID="4d1b5f8b-020c-499a-bac9-269c5104f9e7" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="rootfs" PARTUUID="614e0000-0000-4b53-8000-1d28000054a9" /dev/mmcblk0p4: PARTLABEL="recovery" PARTUUID="8e500000-0000-4554-8000-7a1500002ce6" /dev/mmcblk0p2: PARTLABEL="misc" PARTUUID="4d2e0000-0000-4d59-8000-14bb00003cfd" /dev/mmcblk1: LABEL="M-fM-^VM-0M-eM-^JM- M-eM-^MM-7" BLOCK_SIZE="512" UUID="14B26844B2682C84" TYPE="ntfs"
3、創建掛載點目錄
root@elf2-desktop:~# mkdir -p /mnt/sdcard
4、編輯/etc/fstab文件
root@elf2-desktop:~# vi /etc/fstab
文件內容如下:
# /dev/root / ext4 rw,noauto 0 1 proc /proc proc defaults 0 0 devpts /dev/pts devpts defaults,gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs mode=0777 0 0 tmpfs /tmp tmpfs mode=1777 0 0 tmpfs /run tmpfs mode=0755,nosuid,nodev 0 0 sysfs /sys sysfs defaults 0 0 debug /sys/kernel/debug debugfs defaults 0 0 pstore /sys/fs/pstore pstore defaults 0 0 /dev/mmcblk0p7 /oem ext4 defaults 0 0 /dev/mmcblk0p8 /userdata ext4 defaults 0 0 /dev/mmcblk1 /mnt/sdcard ntfs-3g defaults,nofail 0 0
含義:

5、保存重啟
root@elf2-desktop:~# sync root@elf2-desktop:~# reboot
6、查看文件系統掛載點
重啟后TF卡自動掛載到/mnt/sdcard(自動掛載成功):
root@elf2-desktop:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/root 14G 4.6G 8.6G 35% / tmpfs 7.8G 0 7.8G 0% /dev/shm tmpfs 3.2G 2.5M 3.2G 1% /run tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 7.8G 12K 7.8G 1% /tmp /dev/mmcblk0p7 123M 12M 108M 10% /oem /dev/mmcblk0p8 96G 284M 92G 1% /userdata /dev/mmcblk1 60G 88M 60G 1% /mnt/sdcard tmpfs 1.6G 88K 1.6G 1% /run/user/1000 tmpfs 1.6G 56K 1.6G 1% /run/user/0
7、讀寫驗證
root@elf2-desktop:~# echo 1 > /mnt/sdcard/test.txt root@elf2-desktop:~# sync root@elf2-desktop:~# cat /mnt/sdcard/test.txt 1
-
單片機
+關注
關注
6076文章
45494瀏覽量
670249 -
嵌入式
+關注
關注
5198文章
20442瀏覽量
333963 -
嵌入式開發板
+關注
關注
5文章
111瀏覽量
19796 -
RK3588
+關注
關注
8文章
556瀏覽量
7318
發布評論請先 登錄
ElfBoard技術貼|如何在【RK3588】ELF 2開發板上進行UART引腳復用配置
嵌入式學習-ElfBoard ELF 1板卡-使ELF 1開發板支持exFAT和NTFS格式的方法
rk3588有哪些開發板?
ElfBoard技術貼|如何在【RK3588】ELF 2開發板用戶空間更換開機Logo
ElfBoard技術貼|如何在【RK3588】ELF 2開發板實現GPIO功能復用
技術貼|【RK3588】ELF 2開發板如何添加exFAT和NTFS文件系統格式
評論