Difference between revisions of "Wiifuse"
ExtremsAlt (talk | contribs) |
|||
(18 intermediate revisions by 14 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{Infobox homebrew | |
+ | | title = Wiifuse | ||
+ | | type = pc utility | ||
+ | | author = dhewg | ||
+ | | version = 0.2.0 | ||
+ | | download = Media:Wiifuse-0.2.0.tgz | ||
+ | | source = included | ||
+ | }} | ||
− | + | '''wiifuse''' allows you to mount a Gamecube or Wii DVD disc image as a read-only part of the file system on you computer. This allows users to browse the directory structure and read the files within. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
In contrast to the Gamecube, Wii images have multiple partitions. These are encrypted and wiifuse supports on-the-fly decryption - provided you have the required 128bit AES key. | In contrast to the Gamecube, Wii images have multiple partitions. These are encrypted and wiifuse supports on-the-fly decryption - provided you have the required 128bit AES key. | ||
Line 14: | Line 14: | ||
Further, wiifuse provides access to special data found on these discs. Among others, this includes the main executable and informational things like the game's name. | Further, wiifuse provides access to special data found on these discs. Among others, this includes the main executable and informational things like the game's name. | ||
− | Starting with version v0.2.0, you can also remotely mount your | + | Starting with version v0.2.0, you can also remotely mount your Wii nand filesystem with [[Wiifuse server|wiifuse_server]] and a usbgecko adapter. |
− | ==Requirements== | + | == Requirements == |
*An operating system which is supported by [http://fuse.sourceforge.net/ FUSE], | *An operating system which is supported by [http://fuse.sourceforge.net/ FUSE], | ||
*FUSE 2.6.x (or higher) and | *FUSE 2.6.x (or higher) and | ||
*[http://openssl.org/ OpenSSL] | *[http://openssl.org/ OpenSSL] | ||
− | ==Build== | + | == Build == |
To build wiifuse, you will need a working compiler and the development packages for the required libraries; have a look at the [[#OS-Specific Notes|OS-specific notes]]. | To build wiifuse, you will need a working compiler and the development packages for the required libraries; have a look at the [[#OS-Specific Notes|OS-specific notes]]. | ||
Line 27: | Line 27: | ||
<code>'''make'''</code> | <code>'''make'''</code> | ||
− | ==Usage== | + | == Usage == |
wiifuse v0.2.0 | wiifuse v0.2.0 | ||
coded by dhewg, #wiidev efnet/blitzed | coded by dhewg, #wiidev efnet/blitzed | ||
Line 42: | Line 42: | ||
*Use '''fusermount -u <mount_point>''' to unmount a previously mounted image. | *Use '''fusermount -u <mount_point>''' to unmount a previously mounted image. | ||
− | ==Example== | + | == Example == |
$ '''./wiifuse ~/zelda_tp.iso ~/wii_image -o allow_other''' | $ '''./wiifuse ~/zelda_tp.iso ~/wii_image -o allow_other''' | ||
$ '''ls -l ~/wii_image''' | $ '''ls -l ~/wii_image''' | ||
Line 56: | Line 56: | ||
$ '''fusermount -u ~/wii_image''' | $ '''fusermount -u ~/wii_image''' | ||
− | ==Troubleshooting== | + | == Troubleshooting == |
*Check if the FUSE kernel module is loaded: | *Check if the FUSE kernel module is loaded: | ||
**linux: <tt>lsmod | grep fuse</tt> | **linux: <tt>lsmod | grep fuse</tt> | ||
Line 63: | Line 63: | ||
*Verify your key file, the MD5-sum of the 16 byte file (without line feed) currently is <tt>8d1a2ebcd82a3469b77facf15d9c8e50</tt>. | *Verify your key file, the MD5-sum of the 16 byte file (without line feed) currently is <tt>8d1a2ebcd82a3469b77facf15d9c8e50</tt>. | ||
− | ==OS-Specific Notes== | + | == OS-Specific Notes == |
− | ===Debian / Ubuntu=== | + | === Debian / Ubuntu === |
To install the binaries provided below, do the following: | To install the binaries provided below, do the following: | ||
Line 78: | Line 78: | ||
<tt>adduser dhewg fuse</tt> | <tt>adduser dhewg fuse</tt> | ||
− | ===Gentoo=== | + | === Gentoo === |
<tt>emerge sys-fs/fuse</tt> | <tt>emerge sys-fs/fuse</tt> | ||
− | ===FreeBSD=== | + | === Arch Linux === |
+ | [http://aur.archlinux.org/packages.php?ID=28747 @aur] | ||
+ | |||
+ | === FreeBSD === | ||
Install the required ports: | Install the required ports: | ||
*sysutils/fusefs-kmod | *sysutils/fusefs-kmod | ||
Line 88: | Line 91: | ||
Further docs can be found [http://fuse4bsd.creo.hu/ here]. | Further docs can be found [http://fuse4bsd.creo.hu/ here]. | ||
− | ===OS X=== | + | === OS X === |
Required software: | Required software: | ||
*[http://code.google.com/p/macfuse/ macfuse] | *[http://code.google.com/p/macfuse/ macfuse] | ||
*[http://developer.apple.com/tools/xcode/ Xcode] | *[http://developer.apple.com/tools/xcode/ Xcode] | ||
− | ==Download== | + | *[http://mackeeper.zeobit.com/uninstall-macfuse Uninstall Macfuse] |
+ | |||
+ | == Download == | ||
− | ===v0.2.0=== | + | === v0.2.0 === |
− | [[ | + | [[Media:Wiifuse-0.2.0.tgz|wiifuse-0.2.0.tgz]] |
− | ===v0.2.0-wip1=== | + | === v0.2.0-wip1 === |
− | [[ | + | [[Media:Wiifuse-0.2.0-wip1.tgz|wiifuse-0.2.0-wip1.tgz]] |
Binary for Debian unstable (and probably latest Ubuntu as well): | Binary for Debian unstable (and probably latest Ubuntu as well): | ||
− | :[[ | + | :[[Media:Wiifuse_0.2.0-wip1-1_i386.tgz|wiifuse_0.2.0-wip1-1_i386.tgz]] |
− | ===v0.1.2=== | + | === v0.1.2 === |
− | [[ | + | [[Media:Wiifuse-0.1.2.tgz|wiifuse-0.1.2.tgz]] |
− | ===v0.1.1=== | + | === v0.1.1 === |
− | [[ | + | [[Media:Wiifuse-0.1.1.tgz|wiifuse-0.1.1.tgz]] |
− | ==Changelog== | + | == Changelog == |
*v0.2.0 | *v0.2.0 | ||
− | :*completely revamped wiifuse_server, check [[ | + | :*completely revamped wiifuse_server, check [[Wiifuse server|its page]] for details |
*v0.2.0-wip1 | *v0.2.0-wip1 | ||
− | :*new client/server mode. requires an usb gecko and [[ | + | :*new client/server mode. requires an usb gecko and [[wiifuse server]] running on a gamecube or wii in gc mode - for now ;) |
:*new metadata: title id symlinks, tmd infos | :*new metadata: title id symlinks, tmd infos | ||
*v0.1.2 | *v0.1.2 | ||
− | :*added more [[ | + | :*added more [[Wiidisc IDs|disc id's]] |
:*support for virtual console partitions (found 14 vc games on brawl) | :*support for virtual console partitions (found 14 vc games on brawl) | ||
:*stat compliant - `du` works now | :*stat compliant - `du` works now | ||
Line 133: | Line 138: | ||
:*support for symlinks | :*support for symlinks | ||
:*cleaned up and extended the available metadata | :*cleaned up and extended the available metadata | ||
+ | |||
+ | == Credits == | ||
+ | |||
+ | * Based on [http://multimedia.cx/gcfuse/ gcfuse] code | ||
+ | * Copyright (C) 2006 Mike Melanson (mike at multimedia.cx) | ||
+ | * Copyright (C) 2005 Janusz Dziemidowicz (rraptorr at nails.eu.org) |
Latest revision as of 12:37, 28 August 2012
Wiifuse | |
General | |
---|---|
Author(s) | dhewg |
Type | PC utility |
Version | 0.2.0 |
Links | |
Download | |
Source Included |
wiifuse allows you to mount a Gamecube or Wii DVD disc image as a read-only part of the file system on you computer. This allows users to browse the directory structure and read the files within.
In contrast to the Gamecube, Wii images have multiple partitions. These are encrypted and wiifuse supports on-the-fly decryption - provided you have the required 128bit AES key.
Further, wiifuse provides access to special data found on these discs. Among others, this includes the main executable and informational things like the game's name.
Starting with version v0.2.0, you can also remotely mount your Wii nand filesystem with wiifuse_server and a usbgecko adapter.
Requirements
Build
To build wiifuse, you will need a working compiler and the development packages for the required libraries; have a look at the OS-specific notes.
The archive includes a Makefile, so just run
make
Usage
wiifuse v0.2.0 coded by dhewg, #wiidev efnet/blitzed usage: ./wiifuse [-v] <image file> <mount point> [<FUSE options>] or ./wiifuse [-v] -i <identity> <tty device> <mount_point> [<FUSE options>]
Hints:
- Increase the verbose level with multiple -v arguments (up to three)
- Append
-f
for debug messages (process won't daemonize). - Append
-o allow_other
to let other users access the mount point. - Append
-h
for common FUSE library options. - Use fusermount -u <mount_point> to unmount a previously mounted image.
Example
$ ./wiifuse ~/zelda_tp.iso ~/wii_image -o allow_other $ ls -l ~/wii_image total 0 lrwxrwxrwx 1 dhewg 1 Mar 15 2007 data -> partition2 dr-xr-xr-x 4 dhewg 0 Mar 15 2007 partition0 dr-xr-xr-x 6 dhewg 0 Mar 15 2007 partition1 dr-xr-xr-x 6 dhewg 0 Mar 15 2007 partition2 lrwxrwxrwx 1 dhewg 1 Mar 15 2007 update -> partition1 $ cat ~/wii_image/data/header/name The Legend of Zelda Twilight Princess $ mplayer ~/wii_image/data/fs/Movie/demo_movie98_00.thp $ fusermount -u ~/wii_image
Troubleshooting
- Check if the FUSE kernel module is loaded:
- linux: lsmod | grep fuse
- freebsd: kldstat | grep fuse
- OS X: kextstat | grep fuse
- Verify your key file, the MD5-sum of the 16 byte file (without line feed) currently is 8d1a2ebcd82a3469b77facf15d9c8e50.
OS-Specific Notes
Debian / Ubuntu
To install the binaries provided below, do the following:
dpkg -i wiifuse_0.2.0-wip1-1_i386.deb
To build wiifuse you need to fetch these required packages:
apt-get install build-essential fuse-utils libfuse-dev libssl-dev
To mount an image without root privileges, add the user to the fuse
group:
adduser dhewg fuse
Gentoo
emerge sys-fs/fuse
Arch Linux
FreeBSD
Install the required ports:
- sysutils/fusefs-kmod
- sysutils/fusefs-libs
Further docs can be found here.
OS X
Required software:
Download
v0.2.0
v0.2.0-wip1
Binary for Debian unstable (and probably latest Ubuntu as well):
v0.1.2
v0.1.1
Changelog
- v0.2.0
- completely revamped wiifuse_server, check its page for details
- v0.2.0-wip1
- new client/server mode. requires an usb gecko and wiifuse server running on a gamecube or wii in gc mode - for now ;)
- new metadata: title id symlinks, tmd infos
- v0.1.2
- added more disc id's
- support for virtual console partitions (found 14 vc games on brawl)
- stat compliant - `du` works now
- statvfs compliant - `df` works now
- minor cleanups and fixes
- v0.1.1
- fixed some serious u64 offset bugs
- corrected the main.dol size calculation
- some easy partition validation
- support for symlinks
- cleaned up and extended the available metadata
Credits
- Based on gcfuse code
- Copyright (C) 2006 Mike Melanson (mike at multimedia.cx)
- Copyright (C) 2005 Janusz Dziemidowicz (rraptorr at nails.eu.org)