99 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
		
			Executable File
		
	
	
	
	
| exfat-nofuse
 | |
| ============
 | |
| 
 | |
| Linux non-fuse read/write kernel driver for the exFAT, FAT12, FAT16 and vfat (FAT32) file systems.<br />
 | |
| Originally ported from Android kernel v3.0.
 | |
| 
 | |
| Kudos to ksv1986 for the mutex patch!<br />
 | |
| Thanks to JackNorris for being awesome and providing the clear_inode() patch.<br />
 | |
| <br />
 | |
| Big thanks to lqs for completing the driver!<br />
 | |
| Big thanks to benpicco for fixing 3.11.y compatibility!
 | |
| 
 | |
| 
 | |
| Special thanks to github user AndreiLux for spreading the word about the leak!<br />
 | |
| 
 | |
| 
 | |
| 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.
 | |
| 
 | |
| 
 | |
| Installing as a DKMS module:
 | |
| =================================
 | |
| 
 | |
| You can have even more fun with exfat-nofuse by installing it as a DKMS module has the main advantage of being auto-compiled (and thus, possibly surviving) between kernel upgrades.
 | |
| 
 | |
| First, get dkms. On Ubuntu this should be:
 | |
| 
 | |
| 	sudo apt install dkms
 | |
| 
 | |
| Then copy the root of this repository to /usr/share:
 | |
| 
 | |
| 	sudo cp -R . /usr/src/exfat-1.2.8 (or whatever version number declared on dkms.conf is)
 | |
| 	sudo dkms add -m exfat -v 1.2.8
 | |
| 
 | |
| Build and load the module:
 | |
| 
 | |
| 	sudo dkms build -m exfat -v 1.2.8
 | |
| 	sudo dkms install -m exfat -v 1.2.8
 | |
| 
 | |
| Now you have a proper dkms module that will work for a long time... hopefully.
 | |
| 
 | |
| 
 | |
| 
 | |
| Free Software for the Free Minds!
 | |
| =================================
 | 
