wfuse : A FUSE tool to mount Wii images & WBFS

Discussion in 'Wii - Hacking' started by Wiimm, Feb 3, 2011.

Feb 3, 2011
  1. Wiimm
    OP

    Member Wiimm Developer

    Joined:
    Aug 11, 2009
    Messages:
    2,051
    Location:
    Germany
    Country:
    Germany
    I have developed a FUSE tool to mount Wii ISO discs and WBFS files and partitions. The tool uses the WIT source and so I called it <!--coloro:#000080--><span style="color:#000080"><!--/coloro--><b>wfuse</b><!--colorc--></span><!--/colorc-->.

    Features:
    <ul><li> <!--coloro:#000080--><span style="color:#000080"><!--/coloro--><b>wfuse</b><!--colorc--></span><!--/colorc--> is available as binary for linux only. You can compile it by yourself if checking out the current beta repository and calling "make wfuse". The FUSE development must be installed.
    <!--coloro:#ffffff--><span style="color:#ffffff"><!--/coloro-->.<!--colorc--></span><!--/colorc-->
    </li><li> <!--coloro:#000080--><span style="color:#000080"><!--/coloro--><b>wfuse</b><!--colorc--></span><!--/colorc--> is able to mount Wii/GC images in the file formats *.iso, *.ciso, *.wbi, *.wdf, *.wia and *.wbfs. It can also mount WBFS images.
    <!--coloro:#ffffff--><span style="color:#ffffff"><!--/coloro-->.<!--colorc--></span><!--/colorc-->
    </li><li> This is the directory structure for ISO images:
    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->/info.txtÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂbase info file
    /iso/info.txtÂÂÂÂÂÂÂÂÂÂÂÂÂÂISO info file
    /iso/raw.isoÂÂÂÂÂÂÂÂÂÂÂÂÂÂ extracted ISO image
    /iso/part/ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ partitions base folder
    /iso/part/dataÂÂÂÂÂÂÂÂÂÂÂÂ a soft link to data partition
    /iso/part/<PART>/ÂÂÂÂÂÂÂÂÂÂone folder for each disc partition
    /iso/part/<PART>/*ÂÂÂÂÂÂÂÂ files like cert, ticket, tmd, h3, ...
    /iso/part/<PART>/disc/*ÂÂÂÂrelated disc infos
    /iso/part/<PART>/sys/*ÂÂÂÂ system files like main.dol, fst.bin, ...
    /iso/part/<PART>/files/*ÂÂ real file system<!--c2--></div><!--ec2-->
    <!--coloro:#ffffff--><span style="color:#ffffff"><!--/coloro-->.<!--colorc--></span><!--/colorc-->
    </li><li> This is the directory structure for WBFS:
    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->/info.txtÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂbase info file
    /wbfs/info.txtÂÂÂÂÂÂÂÂÂÂÂÂ WBFS info file
    /wbfs/id/*ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ for each disc the ID6 as soft link to ../slot/*
    /wbfs/slot/*ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ for each disc on WBFS one sub directory
    /wbfs/slot/<SLOT>/*ÂÂÂÂÂÂÂÂA ISO image structure like the "/iso/..." above.<!--c2--></div><!--ec2-->
    <!--coloro:#ffffff--><span style="color:#ffffff"><!--/coloro-->.<!--colorc--></span><!--/colorc-->
    </li><li> If a WBFS contains exactly 1 image, the /iso/... and the /wbfs/... structure is available.
    <!--coloro:#ffffff--><span style="color:#ffffff"><!--/coloro-->.<!--colorc--></span><!--/colorc-->
    </li><li> The filesystem is readonly. Timestamps, owner, group, access rights and number of links are managed.
    <!--coloro:#ffffff--><span style="color:#ffffff"><!--/coloro-->.<!--colorc--></span><!--/colorc-->
    </li><li> <!--coloro:#800000--><span style="color:#800000"><!--/coloro--><b>wfuse</b> is alpha!<!--colorc--></span><!--/colorc-->
    <!--coloro:#ffffff--><span style="color:#ffffff"><!--/coloro-->.<!--colorc--></span><!--/colorc--></li></ul>

    This is a file list of a mounted "Mario Kart" image, cutted at directory level 5:
    Warning: Spoilers inside!


    And this an example for a WBFS with 4 discs, cutted at directory level 5:
    Warning: Spoilers inside!

    <!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo-->
    <!--coloro:#8B0000--><span style="color:#8B0000"><!--/coloro--><b>wfuse is alpha!</b><!--colorc--></span><!--/colorc--><!--sizec--></span><!--/sizec--> ...but it should work!
    <ul><li> linux 64 bit binary: <a href="http://wit.wiimm.de/download/wfuse-r2267.bz2" target="_blank">http://wit.wiimm.de/download/wfuse-r2267.bz2</a></li><li> Beta repository: <a href="http://opensvn.wiimm.de/wii/branches/public/wiimms-iso-tools/" target="_blank">http://opensvn.wiimm.de/wii/branches/publi...imms-iso-tools/</a></li></ul>
     
  2. CEpeep

    Newcomer CEpeep Member

    Joined:
    Aug 29, 2008
    Messages:
    26
    Country:
    United States
    This looks awesome. Looking forward to seeing it work on MacFUSE.
     
  3. giantpune

    Member giantpune GBAtemp Addict

    Joined:
    Apr 10, 2009
    Messages:
    2,860
    Country:
    United States
    woohoo [​IMG]
    i have run a quick test and all files i have extracted have matching md5sum. i understand the logic behind directories "0.0" & "0.1" and links "update" & "data". but what is the logic for "main"? does it always point to the same place as "data" or is there something that would change that?
     
  4. Wiimm
    OP

    Member Wiimm Developer

    Joined:
    Aug 11, 2009
    Messages:
    2,051
    Location:
    Germany
    Country:
    Germany
    'main' is a concept of my wiidisc lib. Some disc infos are take from the main partition. main is the first found data partition or update partition or channel partition or the first partition at all. For all standard discs/games 'main' is the same as 'data'.

    In the technical partition name "A.B" A is the partition table index and B the partition index. I have decided to go this way because partition with same type are possible. Remember Mario Pwns with 2 data partitions. Same for WBFS: the slot number is unique, but a ID may appear twice.
     
  5. Little Baron

    Newcomer Little Baron Member

    Joined:
    May 26, 2010
    Messages:
    26
    Country:
    Germany
    wow!
    You call it alpha but please explain in which point it is alpha?
    I had connected my wbfs drive and mounted it and walked through the wbfs and also through some images of the wbfs. This was a nice feeling to be inside of the games. All runs perfect. I do also some extraction tests without failures.

    I'm missing only one: writing support
     
  6. Wiimm
    OP

    Member Wiimm Developer

    Joined:
    Aug 11, 2009
    Messages:
    2,051
    Location:
    Germany
    Country:
    Germany
    Good "alpha" question!
    I have hacked it in 3 evenings and all my plans (but mount options) are realized and tested. Writing support was never planed because it is much harder. All basic data structures of my WIT tools are made for non changing content.
     
  7. Wiimm
    OP

    Member Wiimm Developer

    Joined:
    Aug 11, 2009
    Messages:
    2,051
    Location:
    Germany
    Country:
    Germany
  8. PsyBlade

    Member PsyBlade Snake Charmer

    Joined:
    Jul 30, 2009
    Messages:
    2,204
    Location:
    Sol III
    Country:
    Germany
    how about somethin like eg /dev/disk/by-label/
     
  9. Little Baron

    Newcomer Little Baron Member

    Joined:
    May 26, 2010
    Messages:
    26
    Country:
    Germany
    I have mounted my wbfs drive and browse it. I like to discover the content of some games without extracting wbfs or iso first.

    I love this new tool!


    @PsyBlade:
    What do you want with /dev/disk/by-label/ ?
     
  10. Wiimm
    OP

    Member Wiimm Developer

    Joined:
    Aug 11, 2009
    Messages:
    2,051
    Location:
    Germany
    Country:
    Germany
  11. Wiimm
    OP

    Member Wiimm Developer

    Joined:
    Aug 11, 2009
    Messages:
    2,051
    Location:
    Germany
    Country:
    Germany
  12. PsyBlade

    Member PsyBlade Snake Charmer

    Joined:
    Jul 30, 2009
    Messages:
    2,204
    Location:
    Sol III
    Country:
    Germany
    forget it I misread the post I replied to
    a symlink farm is exactly what I meant
    but since its already there...
     

Share This Page