基于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
-
单片机
+关注
关注
6071文章
45135浏览量
654844 -
嵌入式
+关注
关注
5163文章
19818浏览量
320327 -
嵌入式开发板
+关注
关注
5文章
94浏览量
19265 -
RK3588
+关注
关注
7文章
437浏览量
6160
发布评论请先 登录
嵌入式学习-ElfBoard ELF 1板卡-使ELF 1开发板支持exFAT和NTFS格式的方法
探索巅峰性能 |迅为 RK3588开发板深度剖析
迅为RK3588开发板深度剖析丨首选的性能
迅为瑞芯微RK3588开发板深度剖析丨首选的性能
【首发开箱】揭开RK3588开发板的神秘面纱!

评论