2

Today I installed a fresh copy of Ubuntu 20.04 (GNU/Linux 5.4.0-1008-raspi aarch64) on my Raspberry PI, and I know that exFAT should be supported by the 5.4 kernel, but whenever I try to mount an external drive, I get an error

$ sudo mount -t exfat /etc/sda1 /media/wd
mount: /media/wd: unknown filesystem type 'exfat'.

And here is the output of cat /proc/filesystems

nodev   sysfs
nodev   tmpfs
nodev   bdev
nodev   proc
nodev   cgroup
nodev   cgroup2
nodev   cpuset
nodev   devtmpfs
nodev   configfs
nodev   debugfs
nodev   tracefs
nodev   securityfs
nodev   sockfs
nodev   bpf
nodev   pipefs
nodev   ramfs
nodev   devpts
    ext3
    ext2
    ext4
    squashfs
    vfat
nodev   ecryptfs
    fuseblk
nodev   fuse
nodev   fusectl
nodev   mqueue
nodev   pstore
    btrfs
nodev   autofs

Do you need to do anything additionally to enable the support for exFAT?

Thank you

  • 1
    Did you do sudo apt install exfat-fuse exfat-utils? – Jos May 3 at 13:00
  • 1
    The thing is that I do not want to use FUSE and it says that Ubuntu 20.04 comes with native support for exFAT. wiki.ubuntu.com/FocalFossa/ReleaseNotes#Linux_Kernel – Mirko Akov May 3 at 13:05
  • This is strange behavior. Out of curiosity I setup a clean 20.04 installation in a VM and exFAT support worked flawlessly without the need to install anything else. Maybe since the kernel is for a Raspberry Pi and not AMD64 or i386, it might be missing the exFAT support? Could be a bug. I guess I will have to setup a Raspberry Pi to confirm it. – Terrance May 3 at 15:16
  • I was looking around the release notes to see if this is only for AMD64 and i386, but couldn't find any information. And since it is a fresh release, there is not much information around the net. – Mirko Akov May 3 at 15:23
  • @MirkoAkov Can you by chance edit your question and add the output of cat /proc/filesystems? On my VM install with AMD64 the exfat is right at the bottom of the list, but on my RPi4 20.04 install, it wasn't listed there. The /proc/filesystems file is what shows the filesystems are supported by the kernel. So to me it appears as they didn't add the support to the kernel for exFAT. – Terrance May 3 at 17:27
1

Here's something you can try. Since the GNU/Linux 5.4.0-1008-raspi aarch64 kernel doesn't seem to have the support for exFAT built in, you can add it. From https://www.techrepublic.com/article/try-out-this-new-linux-exfat-kernel-module-for-improved-performance/ you can follow the steps to download and install the exFAT support for the kernel.

Install git if it is not installed:

sudo apt install git

You may also want the build-essential package:

sudo apt install build-essential

Next, download the exfat-linux:

git clone https://github.com/arter97/exfat-linux

Enter the newly created folder which should be cd exfat-linux

Then run the following to install the kernel module and make it active:

make
sudo make install
sudo modprobe exfat

Now when you run cat /proc/filesystems you should see exfat at the bottom of the list.

| improve this answer | |
  • Works! Thank you so much for the help @Terrance 🙇‍♂️ – Mirko Akov May 3 at 19:18
0

Here's the fix I found on my amd64 Ubuntu 20.04.

The fuse support gets called first if you have exfat-fuse installed.

  1. I renamed /sbin/mount.exfat.fuse to /sbin/mount.exfat.fuse-save
  2. I renamed /sbin/mount.exfat-save to /sbin/mount.exfat-save (so if I screw up I can revert them)
  3. I checked that exfat.ko existed in /lib/modules/5.4.0-29-generic/kernel/drivers/staging/
  4. I insmod-ed the exfat.ko (which I found wasn't necessary after the renaming of the mount commands above.
  5. I called /bin/mount to add the external drive and it mounted.
  6. I called umount to remove the mounted filesystem.
  7. I rmmod'd the exfat.ko and checked it just worked without insmod being forced.
  8. I apt removed exfat-fuse and removed the two saved renamed mount files above since they get called BEFORE the system mount command.

Hope that helps some folks. I think that were all the troubleshooting steps.

Ubuntu should put this in the release notes so others don't have the old fuse-mount versions loading first.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.