Mounting FATX partitions HOWTO

From Xbox-Linux

There are 5 FATX partitions on a unmodified Xbox. They are used to store the Xbox dashboard, to store saved games and soundtracks and for caching of Xbox game data. The size and position of these partitions is fixed and hardcoded into the Xbox BIOS. This article describes how to access these partitions when running Linux on the Xbox.

Table of contents

Partitions

In order to mount a partition you need to know it's name. The standard Xbox partitions are named as follows:


NameLinux device nameDescription
E:hda50Data
C:hda51System Files
X:hda52Game Cache A
Y:hda53Game Cache B
Z:hda54Game Cache C
F:hda55Additional partition*
G:hda56Additional partition*

*With a hard disk larger than 8GB the space above 8GB can be formatted to form an additional FATX partition ('F:'). With a hard disk larger than 137GB (i.e. one that requires LBA48 to address) it is possible to format the space above 137GB to form a 'G:' FATX partition. A Linux kernel with the xbox-linux patches applied will detect these partitions as hda55 and hda56 respectively.


You may see which of the above partitions are detected on your Xbox using the command cat /proc/partitions.

Mounting

Here's how to mount E: (hda50) over /mnt/E. The same method can be applied to the other partitions.

  1. Open a X Terminal or console
  2. Become root by typing in su. Enter the root password for your distribution.
  3. Make a directory to use as a mountpoint with mkdir /mnt/E.
  4. Type mount -t fatx /dev/hda50 /mnt/E to mount the E: partition on /mnt/E.

All the files on E: should now be accessible under /mnt/E (try typing ls /mnt/E to check).

Permissions

The FATX filesystem doesn't have UNIX-style permissions. Instead files permissions are set based on the options passed to the mount command. If no options are specified only the root user will have write access. The option umask=000 grants write access to all users. You would use this option as follows:

mount -o umask=000 -t fatx /dev/hda50 /mnt/E

Editing the fstab

As soon you restart the Xbox partition will no longer be mounted. To have a partition mounted automatically you must add a entry for it into /etc/fstab. Open this file in you favourite editor as root. (for example open a X Terminal, type su to become root followed by nano /etc/fstab). A fstab entry is in the following form:

<file system> <mount point>   <type>  <options>       <dump>  <pass>
  • <file system> is the filesystem to be mounted (e.g. /dev/hda50)
  • <mount point> is the directory to mount the filesystem on (e.g. /mnt/E)
  • <type> is the type of filesystem (e.g. fatx)
  • <options> allows you to specify mount options for the filesystem (e.g. umask=000)
  • In most cases you'll want to leave <dump> and <pass> equal to 0.

To have a filesystem mounted at boot the option auto is need. Therefore if you want E automatically mounted over /mnt/E with write access to all users you would add the following line to /etc/fstab:

/dev/hda50 /mnt/E   fatx  umask=000,auto       0  0

See also