diff --git a/README.md b/README.md index 23d5087..d21aa79 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,5 @@ # gcfuse - Use FUSE To Mount GameCube Filesystems -**Note (February, 2018):** The original build instructions below were written circa 2006 and are a bit obsolete. This source code should still compile and run on modern Linux kernels using this process: - -1. Be sure to have FUSE libraries installed (as of Ubuntu 16.04, this package is 'libfuse-dev') -2. Clone this repository -3. Execute the following build command: - - ```gcc -D_FILE_OFFSET_BITS=64 -Wall src/gcfs.c src/main.c src/tree.c -o gcfs -lfuse``` - -This will build the binary executable ```gcfs```. Use the *Usage* section below for instructions on running this utility. - ---- - gcfuse is a program that allows you to mount a Nintendo GameCube DVD disk image as a read-only part of the Linux filesystem. This allows the user to browse the directory structure and read the files within. @@ -22,36 +10,49 @@ the mounted filesystem. gcfuse accomplishes all this using Filesystem in Userspace (FUSE), available at: - http://fuse.sourceforge.net/ + https://github.com/libfuse/libfuse -Note that there are likely to be bugs and perhaps even security +Note that it is not usually possible to simply read a Nintendo optical discs in +an ordinary computer's DVD-ROM drive. In order to +mount a filesystem, generally, you will have to rip the proper +sector image from the disc using special hardware and tools, or contact +another source who has already done so. + +Note also that there are likely to be bugs and perhaps even security problems. It is currently meant as primarily an experimental research tool for studying GameCube discs. +### Requirements: +- Linux 2.4.x or 2.6.x (as of 2.6.14 FUSE is part of the kernel, but you still need user libraries) +- FUSE (http://fuse.sourceforge.net) 2.5.x or higher +- FUSE development libraries; 'libfuse-dev' on Ubuntu distros -Requirements: -``` - - Linux 2.4.x or 2.6.x (as of 2.6.14 FUSE is part of the - kernel, but you still need user libraries) - - FUSE (http://fuse.sourceforge.net) 2.5.x or higher -``` +### Build: + ./autogen.sh + ./configure + make -Build: -``` - ./configure && make -``` +### Install: + make install + +#### Usage: +The basic usage is to supply a Nintendo GameCube disc image and an empty mount point on the filesystem: + + gcfuse + +Browsing to the mount point will reveal the directory structure of the disc's filesystems. Further, +it will also expose the root executable .dol file, which is an implicit part of the disc filesystem. +This file will be named after the name of the disc. + +Speaking of the name of the disc, the filesystem will also have a '.metadata' file at the root which +contains a few bits of metadata embedeed in the filesystem, including: +- Game code +- Publisher code +- Title +The filesystem derives the name of the root executable from that title metadata. -Install: -``` - make install -``` -Usage: -``` - gcfuse -``` To unmount previously mounted file, use: -``` - fusermount -u -``` + fusermount -u +