一、嵌入式linux支持exfat
嵌入式linux要支持exfat格式,需要确认自己的内核版本再制定相应的对策,
从内核 5.4-rc3 开始,主线内核中包含一个本机 exFAT 驱动程序。
如果是5.4之前版本,需要移植驱动,5.4之后的,系统默认支持,直接配置使用。(来源:Kernel 4.18/4.19/4.20 and >= 5.0 fix · Issue #148 · dorimanx/exfat-nofuse · GitHub)
我使用的内核是4.19,因此使用链接
https://github.com/EasyNetDev/exfat-nofuse
移植这个驱动,重新编译即可。这个链接中有修改方式。
二、嵌入式linux支持NTFS
对于嵌入式linux支持NTFS就比较麻烦,首先要完成步骤一中的修改,然后我参考使嵌入式Linux支持exFAT和NTFS文件系统,U盘自动挂载_exfat_config_discard-CSDN博客
这个文章,看起来意义不太大。仅作记录
直接修改/lib/udev/rules.d中,添加文件70-usb-automount.rules,两条规则,(让chatGPT给写)
KERNEL=="sd*", ENV{ID_FS_TYPE}=="ntfs", ACTION=="add", OPTIONS+="last_rule", RUN+="/bin/mount /dev/%k /media/usb0"
KERNEL=="sd*", ENV{ID_FS_TYPE}=="ntfs", ACTION=="remove", RUN+="/bin/umount /media/usb0"
这样的话,可以自动挂载NTFS U盘。
但是NTFS的U盘只是挂载上,只能读不能写。这就需要另外处理。解决Linux无法读写U盘中的NTFS问题 - 掘金