Linux on the Wii

J

Jarret W. Buse

Guest
Linux on the Wii

The title is not a typo. Yes, you can run Linux on the Nintendo Wii system. There are a few things to note.

The Linux version is Debian version 5 called 'Lenny'. To run Linux on the Wii, you need to install 'The Homebrew Channel' (HBC).

NOTE: Keep in mind, that installing HBC can invalidate the warranty and make you wish for the way it was yesterday.

First, let's look over the Wii itself. The Wii system is an Arm 9 Core running at 243 MHz with a Starlet coprocessor. Nintendo's Operating System (OS) is called either 'Input Output Systems' or 'Internal Operating Systems' (IOS).

The Linux kernel used can support the following:

  • Wii Remotes
  • Wi-fi
  • USB
  • Bluetooth (for remotes)
  • Gamecube Controllers (not Gamecube memory)
  • USB Geckos
  • DVD drive

NOTE: Be aware that the Wii remotes are based on Bluetooth for communication. The Wii sensor bar is not supported initially, but there are ways to enable it.

There are three hardware devices that are required to get Linux enabled on the Wii:

  • SD Card (2 GB or less and not an SDHC)
  • USB keyboard
  • Wii with Homebrew

Let's look at getting The Homebrew Channel on your Wii.

NOTE: Again, be aware that this can invalidate your warranty. Also, once The Homebrew Channel is installed, you will not want to allow system updates. By updating the firmware through WiiConnect24, the changes you make can be removed and you will have to perform the steps again. If your Wii system asks if it can download updates, let it be and answer 'No'.

Before starting the Homebrew installation, you need to check three things:

  1. System Menu Version
  2. MAC Address
  3. Test Internet Connection

Start your Wii and select 'Wii Options' from the Main Menu. At the Options Menu in the top right is the System Menu Version. At the time of this writing, the current version is 4.3. A letter follows it to designate your region, mine is 'U'. So, my full version number is 4.3U.

Select Internet Settings so you can verify your Internet connection is working. Select the option to perform a Connection Test. If prompted to perform an update, answer 'No'.

Go back to select the option for the Console Information. Listed here is the MAC Address of the WII Wi-Fi device. Make note of the address for later.

Go to another system with Internet access and go to the website 'please.hackmii.com'. Here you will be shown a screen as in Figure 1. Select your System Menu Version, enter in your MAC Address being very careful to get it correct and then type in the Captcha. Make sure the checkbox is checked for 'Bundle the HackMii Installer for Me'. Once done, select either button 'Cut Red Wire' or 'Cut Blue Wire'. You should be prompted to download the file. Save the file somewhere accessible.

Figure 1.jpg

FIGURE 1

Once downloaded, open the compressed file and extract it to your newly formatted SD card.

NOTE: Make sure the SD card is formatted as FAT32.

Turn off the Wii, place the SD card in the front slot of the Wii, then turn the system back on.

Once on, at the Main Menu, select Messages. In the Messages for the previous day, current day or next day should be a red letter labeled 'LetterBomb'. Open the LetterBomb, and when prompted, press '1' to continue. In the HackMii installer, select 'A'. Next, move up the menu to highlight the option 'Install the Homebrew Channel' then select the option. When prompted to install the Homebrew Channel, select 'Yes'. When the installation is completed, select to continue and at the menu select the option to 'Exit'.

You should now be in the Homebrew Channel and can select the Home button to get a menu where you have the option to 'Exit' the Homebrew Channel.

Back at the Wii Main Menu, you should now see the Homebrew Channel listed with the other channels.

Now, you need to get the Whiite software as well as prepare the SD card for its use. The links are as follows:


Once downloaded, you need to prepare your SD card for booting. Attach your SD card to your Linux system and unmount it, then partition it by doing the following command from a shell:

sudo /sbin/fdisk /dev/sdx

NOTE: The SD card can be sdb or the like. I will refer to the SD card as drive sdx.

Once the fdisk program starts, press 'o' to remove all partitions and create a bootloader partition. At the next 'command:' prompt within fdisk, type 'n' for a new partition. Enter 'p' for a primary partition. Specify '1' for the first partition. When prompted for the first cylinder, press enter for the default. For the 'Last cylinder or size' prompt, enter '+256M' for 256 MB. You can specify more space, but you need the second partition to have more room to grow.

After the first partition is created, the partition format must be set. At the 'command:' prompt, type 't'. Specify the selected partition as '1'. The Hexcode for the format type is '6' to specify FAT16.

To create the second partition, type 'n' at the 'command:' prompt. Type 'p' for primary partition. When prompted for the partition number, enter '2'. For the 'First cylinder' and 'last Cylinder' press enter to accept the defaults.

When at the 'command' prompt, type 'p' to see a list of the partition table. You should see two partitions, one being FAT16 and the other a Linux format. At the 'command:' prompt, type 'w' to write the partition information to the SD card.

Now, we need to perform the next two commands in the shell to format the partitions:

  • sudo /sbin/mkfs.vfat -n boot /dev/sdx1
  • sudo /sbin/mkfs.ext3 -L whiite /dev/sdx2
The first partition is FAT16 and called boot, while the second partition is EXT3 and named whiite.

Now, we need to place the kernel into the boot partition with all necessary permissions which are stored in the compressed file. To do this, mount the boot partition and perform the following command:

  • sudo tar -C /media/boot -xjvf /folder/gc-linux-mikep5-v2.6.32+whiite-1.10.tar.bz2 -o --strip-components 1

NOTE:
The file location is noted as /folder/. Replace the proper location as needed.

Unmount the boot partition and mount the whiite partition to place the filesystem image on it. To place the filesystem image on the partition do the following command:

  • sudo tar -C /media/whiite -xjvf /folder/gc-linux-mikep5-v2.6.32+whiite-1.10.tar.bz2.tar.bz2

Unmount the drive and place the SD card in the front slot of the Wii. Start the Wii and at the system menu select Homebrew and then press 'Start'. Within Homebrew, a tab should appear named Whiite-Linux. Select it and wait.

NOTE: If the screen remains black, power off the Wii and try again.

When asked for a login username, type 'root'. For the password type 'whiite'.

NOTE: For some special keys like '/,*,-,etc', use the numeric keypad for these keys.

You are now running Linux on your Wii. Obladi Oblada, or as my kids may say, 'Happiness is a warm Wii'.
 

Attachments



WebsCo

New Member
Has anyone successfully tried this? Are there any updates to this post?
I ask because my son's old Wii U is just gathering dust... so I might as well put it to good use.
Do we know if this works with the Wii U as well?
I'm not concerned with the warranty at this point :)
 

WebsCo

New Member
Cool. Thanks. Looking forward. I'll probably take a shot nonetheless. Best case scenario I'm successful, worst case scenario I brick the machine and it goes back on the shelf where it has been for two years anyway.
 

Samikaze

New Member
Hello,
The tutorial works for me.
I've noticed a mistake:
it's not gc-linux-mikep5-v2.6.32+whiite-1.10.tar.bz2.(tar.bz2) which need to be used for the whiite partition but the debian-lenny-5.0+whiite-1.10.tar.bz2 file.
And last thing, how to easily identify the name of our SDcard? Because I had a lot of trouble finding it was recognized as "sde" by my PC.

PS: any ideas of what I could do on my Wii now ?
 

Staff online

Members online


Latest posts

Top