gpfs is a virtual filesystem for a gp32. It is based on the gp32 linking tool from Mike Dawson (http://dexy.mine.nu/gp32/) Requirements: Set up usbdevfs: http://www.linux-usb.org/USB-guide/x173.html When you plug in and switch on your gp32 you should see an extra entry appear under /proc/bus/usb// Permissions: For gpfs to be able to access the usb bus you need to either: a) set permissions on usbdevfs to 0666 using an fstab entry like: none /proc/bus/usb usbdevfs devmode=0666 0 0 b) use gpfs as root, or c) use something like linux hotplug (http://linux-hotplug.sourceforge.net) to manage the permissions. To build gpfs requires libusb (http://libusb.sourceforge.net) and FUSE (http://fuse.sourceforge.net). Under Debian you can 'apt-get install libusb-dev libfuse-dev' and manually compile the fuse module for your kernel. Sorry for my hardcoded paths and libs in the Makefile and the sources. First check the Makefile for your desired install paths (defaults in /usr/bin/) and the source file 'gpfs.c' if your 'fusermount' is in a different place different from '/usr/bin/fusermount' Then run 'make' and 'make install' as root. You can run 'gpfs' followed by the mount point or for automatic mounting, add something like this to your /etc/fstab: /proc/fs/fuse/dev /mnt/gp32 gpfs defaults,user 0 0 And make sure fusermount has the bit suid with 'chmod u+s /usr/bin/fusermount' Error recovery isn't too good yet. If an operation doesn't work you might have to switch your gp32 off and on for the link command to start working again.