Wednesday, June 22, 2011

At Work with Linux: Fedora 14 and exFAT

exFAT (Extended File Allocation Table, also sometimes referred to as FAT64) is a Microsoft proprietary file system developed specifically for large flash devices, such as USB thumb drives and SDXC memory cards. As luck would have it, I have a Sandisk 64GB SDXC card that I needed to access under Fedora 14.

My primary system is a Latitude E6510 running Windows Enterprise 7. The E6510 has an SD slot on the left front for reading cards up to the limit of the SDXC standard and beyond. Because exFAT's Microsoft proprietary, Windows 7 has SDXC card (exFAT) support baked in. Not so with Fedora 14 (or other Linux distributions) as it turns out. What I needed was to copy about 21GB of data from my Fedora 14 system to the card so I could then mount it on the E6510 under Windows 7. The reasons don't matter so much as I needed that capability.

So I plugged the SDXC card into an old SanDisk ImageMate reader, and then plugged the reader into the Fedora 14 notebook. Sure enough Fedora said it couldn't read the filesystem. That's when I started searching for a solution on the Internets. I quickly found the solution with Google.

Yes, Google. And I don't mean just searching for a solution. Google provides drivers for reading and writing SDXC (exFAT) devices in RPM format for several distributions, including Fedora 14. I downloaded the RPMs, installed the drivers and the utilities, and afterwards found that the card was automatically mounted when it was plugged back in again.

I should note that the Google drivers run as a Filesystem in Userspace (FUSE) driver. This has implications, especially with regard to performance. Read and writes to the SDXC were slow, slower than a native kernel file system. The other issue is cluster size. A 64BG FAT-based file system has very large clusters. This means that small files generate a large amount of wasted space. I copied a large dataset from an ext4 file system that, all told, consumed 21GB under Fedora. By the time it had been copied to the SanDisk drive the amount of disk space it occupied nearly doubled.

In spite of the limitations, having any working capability, however flawed, is far better than having no support at all. Beggars can't be choosers.

Logistically I haven't run into any real problems. I'm going to look into buying a more up-to-date reader and see if that helps to speed things up a bit. Otherwise it works well enough to move on to the next problem to be solved.

1 comment:

  1. Thanks for cool post. Blogs like your help solving some IT problems very quickly ;)


All comments are checked. Comment SPAM will be blocked and deleted.

Note: Only a member of this blog may post a comment.