Access FAT filesystems written by EPOC devices

Note that FAT-EPOC is no longer in active development, as I do not own a Psion 5(MX) anymore.

Introduction

In the FAT standard the end of the directory file index is marked by 00. All entries after it should be ignored. The current FAT implementation ignores such marked entries, but continues scanning the directory. This is good enough for most FAT implementations, because they also mark all remaining entries after the last with a 00 byte.

The filesystem implementation of EPOC 5(MX) (and probably of newer versions of EPOC) does not clear old entries after the end of the directory file index. This means that without this patch, Linux will show old previously deleted or even never assigned entries. This patch will affect FAT-based filesystems. Examples are filesystems of the type `msdos' or `vfat'.

Using the patches

The patch for 2.6 kernels is not active, unless you specify the epoc mount option. For example:

(bash) mount /dev/sda1 /mnt/psion-epoc -t vfat -o epoc

The patch for 2.4 kernels has some known issues. All FAT-based partitions will use the new policy; there is no mount option. In most cases it should work well enough; if you want to be completely safe, mount FAT-based partitions read-only.

Download

This software is licensed by the Gnu General Public License.

Debian users can also use the APT archive. You can also look at the CVS archive.

Version Date Files News
1.9 2008-12-16 kernel-patch-fat-epoc-1.9.tar.gz Added support for 2.6.27 and newer kernels (untested)
1.8 2008-12-15 kernel-patch-fat-epoc-1.8.tar.gz Added support for 2.6.26 and newer kernels
1.7 2007-11-09 kernel-patch-fat-epoc-1.7.tar.gz Fixed some bugs for 2.6.15 and newer kernels
1.6 2007-09-30 kernel-patch-fat-epoc-1.6.tar.gz Fix typo in 1.5 release
1.5 2007-09-29 kernel-patch-fat-epoc-1.5.tar.gz Support for 2.6.19 upto 2.6.22 kernels
1.4 2007-08-11 kernel-patch-fat-epoc-1.4.tar.gz Support for 2.6.15 kernels and later
1.3 2005-11-22 kernel-patch-fat-epoc-1.3.tar.gz Initial package release