Android ARM Linux non-fuse read/write kernel driver for exFat and VFat Android file systems
C Makefile
Latest commit 051167c May 19, 2016 @dorimanx Merge pull request #85 from FireBurn/master
Add support for Linux 4.7
Failed to load latest commit information.
.gitignore Add .gitignore and fix spelling mistake in Sep 15, 2013
Kconfig EXFAT bump version to 1.2.6 big update by @benpicco @mdcasey @lqs Sep 27, 2013
LICENSE Create LICENSE Nov 20, 2014
Makefile fixes installing to wrong kernel version path Feb 28, 2015
README.md Update README.md May 21, 2015
exfat_api.c Remove useless end comment. Apr 28, 2014
exfat_api.h Remove useless end comment. Apr 28, 2014
exfat_bitmap.c s32 -> int by @benpicco Oct 2, 2013
exfat_bitmap.h s32 -> int by @benpicco Oct 2, 2013
exfat_blkdev.c Remove useless end comment. Apr 28, 2014
exfat_blkdev.h Remove useless end comment. Apr 28, 2014
exfat_cache.c Remove useless end comment. Apr 28, 2014
exfat_cache.h Remove useless end comment. Apr 28, 2014
exfat_config.h Remove useless end comment. Apr 28, 2014
exfat_core.c Don't lookup dos name entries for exfat Apr 28, 2015
exfat_core.h Remove useless end comment. Apr 28, 2014
exfat_data.c Add support for linux-2.6.31. Aug 28, 2015
exfat_data.h Remove useless end comment. Apr 28, 2014
exfat_nls.c Fixed compilation for versions lower 3.3.0 Nov 17, 2015
exfat_nls.h Remove useless end comment. Apr 28, 2014
exfat_oal.c Add support for linux-2.6.31. Aug 28, 2015
exfat_oal.h Remove useless end comment. Apr 28, 2014
exfat_super.c Add support for Linux 4.7 May 18, 2016
exfat_super.h EXFAT bump version to 1.2.6 big update by @benpicco @mdcasey @lqs Sep 27, 2013
exfat_upcase.c exfat_upcase.c: mark uni_upcase table as "const". Jan 23, 2015
exfat_version.h Add compatability for LG and HTC ROM vold mounting + utf8 hack. Apr 26, 2014

README.md

exfat-nofuse

Linux non-fuse read/write kernel driver for the exFAT, FAT12, FAT16 and vfat (FAT32) file systems.
Originally ported from Android kernel v3.0.

Kudos to ksv1986 for the mutex patch!
Thanks to JackNorris for being awesome and providing the clear_inode() patch.

Big thanks to lqs for completing the driver!
Big thanks to benpicco for fixing 3.11.y compatibility!

Special thanks to github user AndreiLux for spreading the word about the leak!

Installing as a stand-alone module:

make
sudo make install

To load the driver manually, run this as root:

modprobe exfat

You may also specify custom toolchains by using CROSS_COMPILE flag, in my case:

CROSS_COMPILE=../dorimanx-SG2-I9100-Kernel/android-toolchain/bin/arm-eabi-

Installing as a part of the kernel:

Let's take [linux] as the path to your kernel source dir...

cd [linux]
cp -rvf exfat-nofuse [linux]/fs/exfat

edit [linux]/fs/Kconfig

 menu "DOS/FAT/NT Filesystems"

  source "fs/fat/Kconfig"
 +source "fs/exfat/Kconfig"
  source "fs/ntfs/Kconfig"
  endmenu

edit [linux]/fs/Makefile

  obj-$(CONFIG_FAT_FS)    += fat/
 +obj-$(CONFIG_EXFAT_FS)  += exfat/
  obj-$(CONFIG_BFS_FS)    += bfs/
cd [linux]
make menuconfig

Go to:

File systems > DOS/FAT/NT check exfat as MODULE (M) (437) Default codepage for exFAT (utf8) Default iocharset for exFAT

ESC to main menu Save an Alternate Configuration File ESC ESC

build your kernel

Have fun.

Free Software for the Free Minds!