9

I'm trying to understand which FAT based filesystems my Real Time 2.6 Linux supports. I have tried 3 things:

  1. /proc/filesystems shows vfat among others non-relevant for the question (like ext2, etc)

  2. /proc/config.gz shows:

    # DOS/FAT/NT Filesystems
    #
    CONFIG_FAT_FS=y
    CONFIG_MSDOS_FS=y
    CONFIG_VFAT_FS=y
    CONFIG_FAT_DEFAULT_CODEPAGE=437
    CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
    # CONFIG_NTFS_FS is not set
    
  3. Commands like ls /lib/modules/$(uname -r)/kernel/fs show nothing as .../fs folder doesn't exist.

So, looking at this, is safe to asume that FAT and VFAT are supported, but what about FAT32 or exFAT? It's not explicitly specified. How can I know?

7
  • 1
    Have you perhaps run an upgrade on your system but have not rebooted? It is odd that /lib/modules/$(uname -r)/kernel/fs doesn't exist. Does /lib/modules/$(uname -r)/ exist? If not, maybe you've updated your kernel but haven't rebooted into the new one yet.
    – terdon
    Commented Jul 30, 2021 at 8:50
  • /lib/modules/$(uname -r)/ exists. /lib/modules/$(uname -r)/kernel also exists. /lib/modules/$(uname -r)/kernel/fs doesn't. No kernel update.
    – Héctor
    Commented Jul 30, 2021 at 8:58
  • 1
    @terdon the configuration options are set to “y”, so the drivers are built-in, not modules. Commented Jul 30, 2021 at 8:58
  • 1
    @terdon I don’t follow why having some set to “y” implies that some are configured as modules... Commented Jul 30, 2021 at 9:06
  • 2
    @StephenKitt you don't follow because I am not making myself clear :) I meant some are set to y, so won't be present as modules but have been compiled into the kernel, but others are not mentioned at all, so I thought that might suggest they'd be modules. I have since realized that if that were the case, they'd be present but set to m instead.
    – terdon
    Commented Jul 30, 2021 at 9:21

1 Answer 1

7

The FAT drivers include support for FAT32; it’s treated as a variant along with FAT12 and FAT16. If you see vfat in /proc/filesystems, then FAT32 is supported.

exFAT is supported, in recent kernels, by a specific exFAT driver, with its own configuration option (EXFAT_FS). It’s listed separately in /proc/filesystems.

exFAT support is also available as a FUSE exFAT driver.

12
  • 2
    Thanks for your reply. How could now a newbie that vfat refers to FAT, VFAT & FAT32? There is some doc where he could find it? Or it's something that is taken for granted.
    – Héctor
    Commented Jul 30, 2021 at 9:20
  • 2
    It’s not all that obvious... man mkfs.vfat mentions it in passing, I’m looking for anything more specific. Commented Jul 30, 2021 at 9:32
  • 1
    exFAT may also be supported by a FUSE driver, which is much more likely to be usable on a 2.6 system. Commented Jul 30, 2021 at 18:25
  • Ah yes, thanks @chrylis! Commented Jul 30, 2021 at 19:40
  • I have discovered that my device supports exFAT. How? It has a FUSE driver? How can I know? lsmod returns anything. How can I know what is giving me the ability to read the exFAT fs?
    – Héctor
    Commented Aug 4, 2021 at 8:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .