FAT

The File Allocation Table (FAT) filesystem was Article description::originally created for use with MS-DOS (and later pre-NT Microsoft Windows); currently a later revision of FAT (FAT32) is used for USB flash disks. It has made its way over to Linux systems and has official support in the Linux kernel.

As of August 26th, 2019 Microsoft has published the exFAT filesystem specification which means support for exFAT can be worked into the mainline Linux kernel. Kernel 5.4 includes initial staging code for exFAT support.

Kernel
When planning on mounting FAT partitions, users may need to specify a  option with mount. In the example above the codepage for the United States and Canada is used, however other codepages can be enabled a necessary. Optionally, users can also set a default codepage for FAT in the kernel configuration. Be sure each codepage value which is to be used has been enabled in the kernel.

Avoid setting  to UTF-8; it is not recommended. Instead, pass the  option when mounting FAT partitions (this requires CONFIG_NLS_UTF8 to be enabled in the kernel. For further information see  or see the appropriate kernel documentation at

Emerge
The package is needed for FAT userspace utilities:

Usage
It should be possible to mount FAT filesystems with the command. Resizing could be done using.

Removal
To schedule removal for the next depclean action:

Slow file transfer speeds
If file transfer speeds are slow (eg. View using iotop), ensure the filesystem is mounted with the "async" filesystem option. Edit your /etc/fstab or /etc/autofs/auto.misc system files as needed, likely removing the "sync" mount option. By default, filesystems are mounted using the "async" mount option.

If file transfer speeds are stil slow, try remounting the filesystem with the  mount option.

External resources

 * | - Documentation on the VFAT filesystem included with the Linux kernel sources.
 * FAT filesystem and Linux - from Wikipedia
 * FAT - from the Arch Linux wiki