Android Kernel File System Support

While there are a large number of file systems with implementations in the Linux Kernel, many haven't been approved for production use in Android, and are not supported in Android.

Android's test infrastructure, OTA mechanisms, update processes, and privacy requirements depend on specific file system support. Not all file systems are suitable for use on Android devices.

For example, Android requires support for file-based encryption through fscrypt and file-based authentication through fsverity, hence file systems that don't support fscrypt or fsverity aren't suitable for production use.

Low level file system support

Shipping a file system that doesn't have support from Google's kernel team can leave users vulnerable to security issues and isn't recommended.

The Android kernel team continues taking fixes for all file systems by snapping to upstream Long Term Support (LTS) kernels. However, the following file systems receive more frequent patches through the Android security patch release schedule:

  • exfat (supported in kernel 5.10 and later)
  • ext4
  • f2fs
  • fuse
  • incfs
  • Vfat
  • EROFS

The following file system is deprecated and has limited support:

  • sdcardfs (only supported in kernel 4.14 and earlier)

Virtual file system support

In general, virtual file systems, including the following, are supported.

  • debugfs
  • overlayfs
  • procfs
  • sysfs
  • tmpfs
  • tracefs

Requesting support for a new file system

If you want to use a file system that isn't listed here, file a feature request in the Android Issue Tracker, then contact kernel-team@android.com to discuss your needs.