ExFAT - cutting through the BS [SOLVED]


Grench

Forum Addict!
Joined
Oct 3, 2008
Messages
6,629
OK, I know the immediate knee jerk reaction to anything proprietary that is declared an 'industry standard' and foisted on the world.  ExFAT causes one of those reactions in many of us.

However, it is a fact that all SDXC and microSDXC cards 64GB and larger come default formatted to ExFAT.  It is also a fact that pretty much every other device (cameras, phones etc) that uses said cards can't seem to read anything else formatted to that size.

It is also a fact that Google has created a, "Free exFAT file system implementation" that is available for a LOT of mainstream x86 linux releases:

https://code.google.com/p/exfat/

Also, the source code is available from the same link above as a tarball.

I've used the Google free exFAT on my 64bit Linux Mint 14 workstation - no problems.

What, precisely, is in the way to create a PND for this driver?

What is preventing rolling it into the OS?

If the answer has anything to do with the social injustice of allowing Microsoft to dictate the standards for formatting our drives - then it isn't much of a reason as it would completely ignore the underlying fact of 'this is how the rest of the world using SDXC has chosen to operate'.

Yes, I'd have loved it if the SD card association had chosen EXT2 for SDXC.  They didn't - we need to adjust to and accommodate what is now 'standard' and move on.

???
 
would be great to use exfat then maybe i would get real transfer speeds when moving vids/music from my pc to my cards
 
As we live in a windows world I wlso want it.


At least to read other peoples SD cards with my Pandora.
 
What is preventing rolling it into the OS?
The same reasons why NTFS support has been moved into the codec pack, just probably much worse of an issue. Microsoft earns a lot of license fees from all these exFAT using devices, I think you can figure out yourself what it means if there would be exFAT support in the OS.
 
The same reasons why NTFS support has been moved into the codec pack, just probably much worse of an issue. Microsoft earns a lot of license fees from all these exFAT using devices, I think you can figure out yourself what it means if there would be exFAT support in the OS.
NTFS resides on a PND and can be installed. No such option currently exists for exFat. It doesn't because no one has done it. Complaining about it doesn't make it happen. Doing it makes it happen.
 
I wouldn't mind having support for that filesystem (the more stuff that is supported, the better), but I would never use it on my own SD cards. Not just because it is a very proprietary filesystem with very restrictive licensing, patents, and secret specs, but also because it looks like it is a quite crappy filesystem. Its only advantage seems to be that it supports larger disk and file sizes; other than that, it seems to be less robust than regular FAT32, less widely supported, and still lacking all the modern features I expect from a filesystem, like file owners and POSIX permissions, case sensitivity, symlinks, hard links, sparse files, special files (like named pipes, device files, sockets), optional journaling and encryption, resizeable partition size, and so on. So I don't see any reason for using it myself. But it would still be nice to have support for it, in case I need to access somebody else's ExFAT cards.
 
Its only advantage seems to be that it supports larger disk and file sizes... snip
you forgot the major advantage... all consumer devices speaks ExFat, and almost all ONLY speak ExFat... to me that's a good enough reason to support ExFat.
 
Last edited by a moderator:
I don't know of any device that supports only ExFAT. All of them will have no problem with the good old FAT32, and there are plenty of devices that support FAT but not ExFAT. You can make 2TB partitions with FAT32, and if the file size limit of 4GB is a problem then you can always use FAT32+, which supports file sizes up to 256 GB (which is also the capacity of the largest currently available SD cards so that should be enough for a while). Or you can use NTFS, which is less widely supported than FAT32, but still more widely supported than ExFAT.
 
NTFS resides on a PND and can be installed. No such option currently exists for exFat. It doesn't because no one has done it. Complaining about it doesn't make it happen. Doing it makes it happen.
I was only referring to having it directly in the OS, I didn't want to discourage doing anything to allow installing it as a user. There's a huge difference of it being in the OS and being able to (easily) get it into the OS yourself afterwards - it sounds pretty much like he was talking about the first in that quoted sentence.
 
I don't know of any device that supports only ExFAT. All of them will have no problem with the good old FAT32, and there are plenty of devices that support FAT but not ExFAT. You can make 2TB partitions with FAT32, and if the file size limit of 4GB is a problem then you can always use FAT32+, which supports file sizes up to 256 GB (which is also the capacity of the largest currently available SD cards so that should be enough for a while). Or you can use NTFS, which is less widely supported than FAT32, but still more widely supported than ExFAT.
Weird as it may be...

My Samsung Galaxy Note II will support things other than ExFAT, but only on cards smaller than 64GB.  On 64GB microSDXC media, it will not allow any interaction with the card other than to reformat it to ExFAT.

Recent Pentax cameras respond in a similar way.  FAT formatted 16GB and 32GB cards - fine.  Put a FAT formatted partition on a 128GB card and all it wants to do is reformat the card back to ExFAT.

Yes, I realize that is a fault in the above devices.  They have placed an in-firmware restriction on how they allow interaction with this type of media.  It's annoying, but there isn't a thing we can do about that behavior of general consumer devices.

I am not a software developer.  Looking into this at a high level, the big requirement seems to be the 'FUSE' package.  Does anyone have a solid working knowledge of what 'FUSE' is?
 
use whatever filesystem you want for your pandora only storage, but choosing something else than ExFat for 64Gb+ media meant to be interchangable is not a good idea as it is the accepted and widespread standard, regardless of all its drawbacks...
 
Since this is a file system - aka something we want done right and not by me as a first project having never successfully compiled anything on a Pandora...

Who has the chops to do it?
 
I compiled that implementation of ExFAT, here are some binaries you can try out. You should be able to mount an ExFAT partition with something like this:


sudo ./bin/mount.exfat /dev/mmcblk<something> <mount point>


Try it out, if it works for you then we could make a PND installer for this.
 

Attachments

  • exfat.tar.gz
    303.2 KB · Views: 207
Last edited by a moderator:
I'm on the road again and won't be able to try that until Friday evening at the earliest.  I'll back up the system and the card first to test.    How do I install the binaries?  Copy them into which directories and register them in what tables or ???  Ya - I'm clueless.
 
Seems the codec pack places the ntfs ones in the /usr/bin but is symlinked from the /sbin directory.. so I'd say just dump it in the /sbin directory for a quick test.


I'm not sure what more there is to do outside of just adding it to that folder.. It may just work or try Mcobit's command line mount example.
 
Last edited by a moderator:
Looking into this at a high level, the big requirement seems to be the 'FUSE' package.  Does anyone have a solid working knowledge of what 'FUSE' is?
Since no one answered this I'll go ahead and field it, although it's just a sidenote to this whole discussion. FUSE is a kernel driver that acts like a file system passthrough, letting you have filesystem drivers in user space instead of kernel space. This is a good option because kernel modules are a pain in the ass for a variety of reasons.
FUSE started out as a kernel module but it's a standard part of the kernel now, so you don't have to install anything unless it was configured without it (shouldn't be the case).

That said, I think that since mount.exfat is 0 bytes in _wb_'s archive you really want to run mount.exfat-fuse. And don't quote me on this, but I think the FUSE mount programs work by always running and responding to the kernel's FUSE requests, so you may want to background the task by putting an & at the end..
 
Back
Top