wii-linux Proof of Concept 0.3
4 April 2008, Albert "isobel" Herranz


1. INTRODUCTION

  This the third iteration of the small proof of concept gc-linux distro
  contained in an ELF file which runs in a unmodified Nintendo Wii console
  with the help of the twilight-hack loader.


2. REQUISITES

  These are the requisites to load this PoC using the twilight-hack:

  - a Nintendo Wii
  - a SD card
  - (recommended) a USB Gecko adapter


3. PREPARATIONS

  Follow the twilight-hack instructions to install the boot.elf file into
  your "loading" SD card. If you have doubts read the README
  bundled with the twilight-hack.

  If you own an USB Gecko adapter, make sure it is inserted into
  memcard slot B and connected through a USB cable to your PC before
  booting boot.elf.
  You can use a terminal program to connect via USB Gecko to your wii-linux :)
  I've tested it with minicom under Linux (/dev/ttyUSB0, 115200 8N1).
  It is recommended to activate linewrap.

   $ sudo minicom

   Welcome to minicom 2.2

   OPTIONS: I18n 
   Compiled on May  2 2007, 10:11:26.
   Port /dev/ttyUSB0

                    Press CTRL-A Z for help on special keys


4. BOOTING

  Follow the twilight-hack instructions to boot the boot.elf through the
  "loading" SD card.  If you have doubts read the README bundled with the
  twilight-hack.

  During the boot process, the following will take place to preserve the life
  of your videoconsole :)

  - the DVD motor will stop
  - the blue led will turn off
  - the wiimote will be shutdown


5. LOGGING INTO THE SYSTEM

  (This will work only for USB Gecko users).
  In your terminal program, you'll see a welcome screen like this:


   Wii-linux-PoC GNU/Linux 0.3 (none) usbgeckocon1

   (none) login:


  At the login prompt you can enter the PoC credentials:
    user: root
    password: cube

  If you manage to do so, you'll get a command prompt :)

   # 


6. WORKING WITH THE SYSTEM

  The PoC system is based on busybox. There are a few symlinks to commands
  already created, but the busybox version supplied has support for a lot more
  commands. If you miss a command try with 'busybox missing_command' or ask for
  help with 'busybox'.

   # busybox top

  Despite this PoC is very limited, the kernel is now ready to drive more
  useful applications :)

6.a. Mounting and unmounting SD cards

  The kernel supplied has support for hot-insertion and removal of SD cards
  so you can extract your "loading" card and insert and mount another one.
  Just make sure YOU DON'T REMOVE A CARD WHEN IT'S MOUNTED, umount it first.

  * Mount an unpartitioned SD card inserted into the front slot

   # mount /dev/rvlsda /media/slot0

  * Unmount the card

   # umount /media/slot0

  * Mount partition 1 of a SD card inserted into the front slot

   # mount /dev/rvlsda1 /media/slot0

  * Mount partition 2 of a SD card inserted into memcard slot A through
    an SD card adapter.

   # mount /dev/gcnsda2 /media/memcardA


7. CHANGES

  + wii-linux-PoC 0.3

  Added support for the IOS ipc interface.

  Added support for using SD cards in the front slot.


  + wii-linux-PoC 0.2

  We have fixed a long-standing bug that prevented some SD cards with block
  sizes greater than 512 bytes to work (I recently got one of these :).

  The kernel is now based on the powerpc branch instead of the ppc branch
  which is scheduled to die in June 2008.

  More classic gamecube hardware (audio, pads, exi) works now in
  Wii mode.
  You can also use now 52MB of MEM2 as a block device through /dev/mem2.


8. POWERING OFF THE SYSTEM

  Type "poweroff" at the command prompt.
  If you don't have a USB Gecko, press and hold the reset button, and turn off
  the videoconsole when the Wii Menu gets displayed.


9. CREDITS

  Team Twiizers for the Twilight Hack.
  The wiibrew.org site and their contributors for their documentation.
  The libogc guys for providing another valuable source for
  cross-checking information.


10. DISCLAIMER

   THIS PROGRAM IS NOT AFFILIATED WITH NINTENDO.

   IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
   SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
   OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE AUTHOR
   HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

   THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
   BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
   AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
   ON AN "AS IS" BASIS, AND THE AUTHOR HAS NO OBLIGATION TO
   PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.


