Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Wiifuse: Difference between revisions

From GameBrew
m (HydeWing moved page Wiifuse Wii to Wiifuse without leaving a redirect)
No edit summary
Line 1: Line 1:
{{#seo:
|title=Wii Homebrew PC Tools (PC utilities) - GameBrew
|title_mode=append
|image=wii-logo.jpg
|image_alt=Wiifuse
}}
{{Infobox Wii Homebrews
{{Infobox Wii Homebrews
|title=Wiifuse
|title=Wiifuse
Line 15: Line 9:
|license=Mixed
|license=Mixed
|download=https://dlhb.gamebrew.org/wiihomebrews/wiifusewii.7z
|download=https://dlhb.gamebrew.org/wiihomebrews/wiifusewii.7z
|website=
|website=https://wiibrew.org/wiki/Wiifuse
|source=https://dlhb.gamebrew.org/wiihomebrews/wiifusewii.7z
|source=https://dlhb.gamebrew.org/wiihomebrews/wiifusewii.7z
}}
}}
'''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.
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.


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 Wii nand filesystem with Wiifuse server and a usbgecko adapter.
Starting with version v0.2.0, you can also remotely mount your Wii nand filesystem with Wiifuse server and a usbgecko adapter.


== Requirements ==
===Building===
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]].
 
The archive includes a Makefile, so just run <code>make</code>.
 
==User guide==
Releases:
*wiifuse-0.2.0.tgz - v0.2.0 source.
*wiifuse-0.2.0-wip1.tgz - v0.2.0-wip1 source.
*wiifuse_0.2.0-wip1-1_i386.tgz - v0.2.0-wip1, binary for Debian unstable.
 
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]


== Usage ==
Usage:
  wiifuse v0.2.0
  wiifuse v0.2.0
  coded by dhewg, #wiidev efnet/blitzed
  coded by dhewg, #wiidev efnet/blitzed
Line 39: Line 44:
         ./wiifuse [-v] -i <identity> <tty device> <mount_point> [<FUSE options>]
         ./wiifuse [-v] -i <identity> <tty device> <mount_point> [<FUSE options>]


'''Hints:'''
Hints:
*Increase the verbose level with multiple '''-v''' arguments (up to three)
*Increase the verbose level with multiple "-v" arguments (up to three)
*Append <code>-f</code> for debug messages (process won't daemonize).
*Append <code>-f</code> for debug messages (process won't daemonize).
*Append <code>-o allow_other</code> to let other users access the mount point.
*Append <code>-o allow_other</code> to let other users access the mount point.
*Append <code>-h</code> for common FUSE library options.
*Append <code>-h</code> for common FUSE library options.
*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
  total 0
  total 0
  lrwxrwxrwx 1 dhewg 1 Mar 15  2007 data -> partition2
  lrwxrwxrwx 1 dhewg 1 Mar 15  2007 data -> partition2
Line 55: Line 60:
  dr-xr-xr-x 6 dhewg 0 Mar 15  2007 partition2
  dr-xr-xr-x 6 dhewg 0 Mar 15  2007 partition2
  lrwxrwxrwx 1 dhewg 1 Mar 15  2007 update -> partition1
  lrwxrwxrwx 1 dhewg 1 Mar 15  2007 update -> partition1
  $ '''cat ~/wii_image/data/header/name'''
  $ cat ~/wii_image/data/header/name
  The Legend of Zelda Twilight Princess
  The Legend of Zelda Twilight Princess
  $ '''mplayer ~/wii_image/data/fs/Movie/demo_movie98_00.thp'''
  $ mplayer ~/wii_image/data/fs/Movie/demo_movie98_00.thp
  $ '''fusermount -u ~/wii_image'''
  $ fusermount -u ~/wii_image
 
== Troubleshooting ==
*Check if the FUSE kernel module is loaded:
**linux: <tt>lsmod | grep fuse</tt>
**freebsd: <tt>kldstat | grep fuse</tt>
**OS X: <tt>kextstat | grep fuse</tt>
*Verify your key file, the MD5-sum of the 16 byte file (without line feed) currently is <tt>8d1a2ebcd82a3469b77facf15d9c8e50</tt>.
 
== OS-Specific Notes ==
=== Debian / Ubuntu ===
To install the binaries provided below, do the following:


<tt>dpkg -i wiifuse_0.2.0-wip1-1_i386.deb</tt>
=== Troubleshooting ===
Check if the FUSE kernel module is loaded:
*linux: <code>lsmod | grep fuse</code>
*freebsd: <code>kldstat | grep fuse</code>
*OS X: <code>kextstat | grep fuse</code>


To build wiifuse you need to fetch these required packages:
Verify your key file, the MD5-sum of the 16 byte file (without line feed) currently is <code>8d1a2ebcd82a3469b77facf15d9c8e50</code>.


<tt>apt-get install build-essential fuse-utils libfuse-dev libssl-dev</tt>
=== OS-specific notes ===
====Debian/Ubuntu====
To install the binaries provided, do the following: <code>dpkg -i wiifuse_0.2.0-wip1-1_i386.deb</code>


To mount an image without root privileges, add the user to the <code>fuse</code> group:
To build wiifuse you need to fetch these required packages: <code>apt-get install build-essential fuse-utils libfuse-dev libssl-dev</code>


<tt>adduser dhewg fuse</tt>
To mount an image without root privileges, add the user to the <code>fuse</code> group: <code>adduser dhewg fuse</code>


=== Gentoo ===
====Gentoo====  
<tt>emerge sys-fs/fuse</tt>
<code>emerge sys-fs/fuse</code>


=== Arch Linux ===
====Arch Linux====
[http://aur.archlinux.org/packages.php?ID=28747 @aur]
[http://aur.archlinux.org/packages.php?ID=28747 @aur]


=== FreeBSD ===
====FreeBSD====
Install the required ports:
Install the required ports:
*sysutils/fusefs-kmod
*sysutils/fusefs-kmod
Line 94: Line 94:
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]
Line 102: Line 102:
== Changelog ==
== Changelog ==
'''v0.2.0'''
'''v0.2.0'''
*completely revamped wiifuse_server.
*Completely revamped [https://wiibrew.org/wiki/Wiifuse_server wiifuse_server].


'''v0.2.0-wip1'''
'''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 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 Wiidisc IDs
*Added more [https://wiibrew.org/wiki/Wiidisc_IDs Wiidisc IDs].
*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.
*statvfs compliant - `df` works now
*statvfs compliant - `df` works now.
*minor cleanups and fixes
*Minor cleanups and fixes.


'''v0.1.1'''
'''v0.1.1'''
*fixed some serious u64 offset bugs
*Fixed some serious u64 offset bugs.
*corrected the main.dol size calculation
*Corrected the main.dol size calculation.
*some easy partition validation
*Some easy partition validation.
*support for symlinks
*Support for symlinks.
*cleaned up and extended the available metadata
*Cleaned up and extended the available metadata.


== Credits ==
== Credits ==
* Based on [http://multimedia.cx/gcfuse/ gcfuse] code
* Based on [http://multimedia.cx/gcfuse/ gcfuse] code.
* Copyright (C) 2006 Mike Melanson (mike at multimedia.cx)
* Copyright (C) 2006 Mike Melanson (mike at multimedia.cx).
* Copyright (C) 2005 Janusz Dziemidowicz (rraptorr at nails.eu.org)
* Copyright (C) 2005 Janusz Dziemidowicz (rraptorr at nails.eu.org).


==External links==
==External links==
* Wiibrew - https://wiibrew.org/wiki/Wiifuse
* WiiBrew - https://wiibrew.org/wiki/Wiifuse
* WiiBrew - https://wiibrew.org/wiki/Wiifuse_server

Revision as of 07:17, 26 March 2023

Wiifuse
Wii-logo.jpg
General
AuthorDhewg
TypePC utilities
Version0.2.0
LicenseMixed
Last Updated2008/03/20
Links
Download
Website
Source

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.

Building

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.

User guide

Releases:

  • wiifuse-0.2.0.tgz - v0.2.0 source.
  • wiifuse-0.2.0-wip1.tgz - v0.2.0-wip1 source.
  • wiifuse_0.2.0-wip1-1_i386.tgz - v0.2.0-wip1, binary for Debian unstable.

Requirements:

  • An operating system which is supported by FUSE,
  • FUSE 2.6.x (or higher) and
  • OpenSSL

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, 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

@aur

FreeBSD

Install the required ports:

  • sysutils/fusefs-kmod
  • sysutils/fusefs-libs

Further docs can be found here.

OS X

Required software:

Changelog

v0.2.0

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 Wiidisc IDs.
  • 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).

External links

Advertising: