Line 16:
Line 16:
| hbb =
| hbb =
}}
}}
−
'''''WiiToo!''''' is a minimal precompiled stage4 made to let you run [http://www.gentoo.org/ Gentoo] on your Wii using [http://www.gc-linux.org/wiki/MINI:KernelPreviewFour MIKE] and [[Mini]]. It provides all the basic software required to compile and install new programs on it, and some other software ready to be used. The kernel used is plain vanilla-sources & [[Wii-Linux]] patches, so expect WiFi working out of the box.
+
'''''WiiToo!''''' is a minimal precompiled [http://en.gentoo-wiki.com/wiki/Custom_Stage4 stage4] made to let you run [http://www.gentoo.org/ Gentoo] on your Wii using [http://www.gc-linux.org/wiki/MINI:KernelPreviewFour MIKE] and [[Mini]]. A stage4 archive is an image of the entire root partition of a Gentoo system. It provides all the basic software required to compile and install new programs on it, and some other software ready to be used. The kernel used is plain vanilla-sources & [[Wii-Linux]] patches, so expect WiFi working out of the box after just editing some configuration files.
== Features ==
== Features ==
*Ready to use, uncompress, copy, configure and run
*Ready to use, uncompress, copy, configure and run
*Highly configurable, like Gentoo
*Highly configurable, like Gentoo
−
*USB keyboard isn't a requirement, simply configure your network and use SSH
+
*USB keyboard isn't a requirement but highly recommended, you could also configure your WLAN network and use SSH
*Can use all the hardware that Wii-Linux is able to use:
*Can use all the hardware that Wii-Linux is able to use:
Line 74:
Line 74:
== Installation ==
== Installation ==
−
=== From a Linux ===
+
+
=== Download and install bootmii ===
+
For booting WiiToo! you will need bootmii. Therefore install [[bootmii]] beta3 or higher now. You can download it from here: [http://www.bootmii.org/download/ bootmii download].
+
+
Download the HackMii installer from this page and copy the directory containing the boot.elf file to the APPS folder on your SD card. Start the Homebrew channel and select the bootmii installer. Install bootmii as IOS (recommended). Read the [[bootmii]] page for details regarding this. Choose prepare the SD card and then the HackMii installer will prepare the SD Card to boot bootmii from it. This means it makes a folder on the SD card named bootmii which contains the files "ppcboot.elf", "armboot.bin" and "bootmii.ini".
+
+
For the Windows installation procedure we will just need the files "armboot.bin" and "bootmii.ini" to prepare the boot partition. We will rename the WiiToo! kernel to ppcboot.elf to use bootmii to boot it.
+
+
=== From a Linux PC ===
==== Making partitions on your SD card ====
==== Making partitions on your SD card ====
Line 105:
Line 113:
# tar xpf /path/to/wiitoo.tar -C /mnt/wiiroot/
# tar xpf /path/to/wiitoo.tar -C /mnt/wiiroot/
−
=== From a Windows ===
+
==== Choose your kernel image ====
−
Maybe you can try with [http://www.cygwin.com cygwin], or using a GNU/Linux livecd like [http://www.sysresccd.org sysrescuecd].
+
You must choose your kernel image according to your TV (PAL/NTSC/480/576), WiiToo! provides 5 kernel images that can be found on /boot/ on the root partition.
+
+
When you have the correct kernel image just copy it to your boot partition (FAT16) on the SD card. Rename the kernel image to ppcboot.elf for running it with bootmii.
+
+
+
+
=== From a Windows PC ===
+
+
Just use [http://www.gc-linux.org/wiki/WL:whiite-linux-installer the whiite-linux-installer] and [http://www.7-zip.org/ 7zip] on your Windows PC. These links point to the pages where you can download this software.
−
=== Final steps ===
+
==== Partition and prepare a SD card to run WiiToo! ====
−
Finally we configure some openrc settings, and the network.
+
+
a) download the [http://sourceforge.net/projects/wiitoo/files/releases/wiitoo-20oct2009.tar.xz/download WiiToo! release archive].
+
+
b) download and install [http://www.7-zip.org/ 7zip] if you do not have this software already installed.
+
+
c) open the WiiToo! archive wiitoo-20oct2009.tar.xz.tar with 7zip and extract the file wiitoo-20oct2009.tar.xz from it.
+
+
d) remove the "xz" extension from this file.
+
+
e) use 7zip to compress this file wiitoo-20oct2009.tar to a wiitoo-20oct2009.tar.bz2 archive.
+
+
f) using 7zip look into the boot directory of this archive and extract the kernel image which fits your Wii. E.g. the wiitoo-2.6.31-480ipal60.elf file if the Wii is set for PAL 60.
+
+
g) rename this extracted kernel image file to ppcboot.elf.
+
+
h) make a folder called bootmii and copy this file ppcboot.elf plus the files armboot.bin and bootmii.ini into this folder. The files armboot.bin and bootmii.ini you can retrieve from the bootmii installer. Then make a folder named kernel and copy the folder bootmii together with its files into this folder.
+
+
i) use 7zip to make a tar archive from the kernel folder.
+
+
j) use 7zip to compress this kernel.tar file to a kernel.tar.bz2 archive.
+
+
k) use the programmers notepad editor or the devcpp editor to set up the following config file:
+
<pre>
+
#
+
# wiitoo-28oct2009
+
#
+
# Includes:
+
# - wiitoo-linux 28oct2009
+
# - wiitoo kernel 2.6.31
+
#
+
#
+
+
MINIMUM_CARD_SIZE=450 # MBs
+
+
#
+
# Filesystem tarball settings
+
#
+
FS_MINIMUM_PART_SIZE=408 # MBs
+
FS_TARBALL="wiitoo-28oct2009.tar.bz2"
+
FS_TARBALL_FILE_COUNT=34651
+
+
#
+
# Kernel tarball settings
+
#
+
+
KERNEL_TARBALL="kernel.tar.bz2"
+
KERNEL_TARBALL_FILE_COUNT=6
+
</pre>
+
Save this config file under the name: "whiite-linux-installer.conf". It is important that the editor terminates lines with LF as Linux does and not CR/LF as Windows does. Both editors mentioned will do that. If you CANNOT read them properly with the notepad editor they do not have CR/LF as line termination. Otherwise the installation will not work.
+
+
l) copy the following files to the root directory of a USB flash disk: "wiitoo-28oct2009.tar.bz2", "kernel.tar.bz2" and "whiite-linux-installer.conf".
+
+
m) put the USB flash disk into your Wii.
+
+
n) put a SD card into your PC and copy the whiite linux installer and its files into the APPS folder of this SD card.
+
+
o) put this SC card into the Wii now.
+
+
p) start the whiite linux installer from the homebrew channel. Answer the prompts of this installer as required.
+
+
q) this installer will partition the SD card into a FAT16 partition and a EXT3 partition for the WiiToo! files. Make the size of the FAT16 partition e.g. about 400MB if you want to copy downloaded files from the FAT16 partition to the EXT3 partition later. The installer will also install the files in the "wiitoo-28oct2009.tar.bz2" archive in the EXT3 partiton and the files in the "kernel.tar.bz2" archive in the FAT16 partition which will be used to boot WiiToo! from.
+
+
Having done all this you can boot WiiToo! as described below.
+
+
If you want to try an alternative to these instructions, you may try with [http://www.cygwin.com cygwin], or using a GNU/Linux livecd like [http://www.sysresccd.org sysrescuecd].
+
+
==== Linux guides for Windows users ====
+
+
To familiarise yourself briefly with the available commands on the WiiToo! command line please take a lot at this documentation:
+
+
Windows/DOS commands and Linux shell commands compared:
+
[http://www.scrounge.org/linux/doshelp.html tut1] or [http://www.yolinux.com/TUTORIALS/unix_for_dos_users.html tut2]
+
+
There is also a [http://homepage.powerup.com.au/~squadron/linux_manual.pdf one page linux manual]
+
+
The Gentoo manual covering installation, Portage and network configuration is [http://www.gentoo.org/doc/en/handbook/handbook-x86.xml here].
+
+
+
== Booting the system ==
+
+
Start the Homebrew channel, press the home button and select bootmii to load WiiToo!. After WiiToo! has booted and sent a lot of messages to the screen, you should see something like this if you have the TV on:
+
+
[[File:WiiToo! Boot.png|350px]]
+
+
=== Log into your WiiToo! system ===
+
+
You can now log into your system with your USB keyboard. Use root as your login name and password root since the changes you have to make now mostly require root priviliges.
+
There is also a predefined user for your system called Wii with password Wii. To make your system secure - if required - change your passwords after logging in. This is described in one section below.
+
+
If you have no keyboard, you could also log into your system with SSH as described below in a separate chapter. For this you have to setup the network as described below first. Therefore this is not recommended because setting up the network may require some testing first and this is rather tedious without a keyboard. You would have to change the settings in the configuration files on the SD card with your Linux PC and then boot again and see if it works.
+
+
=== Configuring your system ===
+
After booting your system, you can configure some settings. For this you have to use the [http://www.nano-editor.org Nano editor] which has a very simple user interface. Just in case, here is a [http://www.nano-editor.org/dist/v2.2/nano.html manual] for that.
+
+
==== Filesystem ====
+
After booting for the first time WiiToo! may complain about problems in the file system. If this is the case type FSCK to run this program from the command line to fix that.
+
+
==== Keymaps ====
+
Gentoo uses the file /etc/conf.d/keymaps to handle keyboard configuration. Edit it to configure your keyboard.
+
# nano -w /etc/conf.d/keymaps
+
+
==== MAC address ====
+
The distribution comes with the wrong MAC address of the WLAN card in a configuration file. Erase the file /etc/udev/rules.d/70-persistent-net.rules. Then boot the system again and WiiToo! will write a new file with the correct MAC address. After that continue with the settings below.
+
+
You could also read the MAC address from your Wii system menu/console and enter it into the 70-persistent-net.rules file using the Nano editor.
+
+
==== Hostname ====
+
The default system hostname is "Wii", you can change it just doing:
+
# nano -w /etc/conf.d/hostname
+
and put an original name like "Hermenegildo" :D.
==== Configuring openrc ====
==== Configuring openrc ====
Line 118:
Line 243:
You can view all available timezones exploring /mnt/wiiroot/usr/share/zoneinfo.
You can view all available timezones exploring /mnt/wiiroot/usr/share/zoneinfo.
−
==== Configuring the network ====
+
==== Changing your root password ====
−
WiiToo! includes all the software needed to make your wifi connection work on the first boot without the need to install any more software, it includes the firmware necessary to make the internal wifi card work out of the box, but you have to configure wpa_supplicant to fit your network needs.
+
You MUST change your root password if you want a secure system, to change it just run:
+
# passwd root
+
and follow the instructions.
+
+
==== Changing the Wii user password or adding a new user ====
+
Just run:
+
$ passwd wii
+
if you prefer to add a new user you can do:
+
# userdel wii
+
to erase the wii default user and then:
+
# useradd -m -G users,wheel,audio -s /bin/bash john
+
+
# passwd john
+
to add a user called john.
+
+
==== glibc locales ====
+
With this setting you can control the language of your system, charsets etc... don't touch it if you don't know what you are doing. To edit locales you can run:
+
# nano -w /etc/locale.gen
+
and when it's done run:
+
# locale-gen
+
+
=== Configuring the network ===
+
WiiToo! includes all the software needed to make your wifi connection work without the need to install any more software, it includes the firmware necessary to make the internal wifi card work out of the box. But you have to configure the files "wpa_supplicant" and "net" to fit your network needs. This depends whether your wireless access point or router uses no security, WPA or WEP security, dhcp or not, which channel it uses etc.
+
+
To configure wpa_supplicant you have to edit the file /etc/wpa_supplicant/wpa_supplicant.conf. Here is some documentation about this: [http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=4&chap=4 tut] and [http://www.examplenow.com/man/wpa_supplicant man page].
+
+
This is an example wpa_supplicant.conf file which will work with an open WLAN without security:
−
To configure wpa_supplicant you have to edit /etc/wpa_supplicant.conf, you can get lots of documentation about how to do it on google, anyway here you can see a WPA-PSK example:
+
<pre>
+
ctrl_interface=/var/run/wpa_supplicant
+
ctrl_interface_group=wheel
−
<pre>ctrl_interface=/var/run/wpa_supplicant
+
ap_scan=1
+
+
network={
+
#enter the ESSID here, e.g. ssid="dlink"
+
ssid="Example ESSID"
+
key_mgmt=NONE
+
#set this to one if the access point does not broadcast the ESSID
+
# scan_ssid=1
+
}
+
</pre>
+
+
This is an example wpa_supplicant.conf file which will work with WEP security:
+
<pre>
+
ctrl_interface=/var/run/wpa_supplicant
+
ctrl_interface_group=wheel
+
+
ap_scan=1
+
+
network={
+
ssid="Example ESSID"
+
key_mgmt=NONE
+
#the numbers below are hexadecimal - 0x0,0x1,0x2..
+
wep_key0=0123456789
+
#use "0123456789" for ASCII
+
wep_tx_keyidx=0
+
priority=5
+
#add this parameter if a Shared Key is used
+
auth_alg=SHARED
+
}
+
</pre>
+
+
This is an example wpa_supplicant.conf file which will work with WPA-PSK security:
+
<pre>
+
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
ctrl_interface_group=wheel
Line 130:
Line 316:
fast_reauth=1
fast_reauth=1
country=ES
country=ES
+
network={
network={
−
ssid="ExampleSSID"
+
ssid="Example ESSID"
proto=WPA
proto=WPA
key_mgmt=WPA-PSK
key_mgmt=WPA-PSK
Line 140:
Line 327:
}</pre>
}</pre>
−
Then configure /etc/conf.d/net to use dhcp:
+
Select and adapt the wpa_supplicant.conf file according to your access point's settings.
+
+
+
The command
+
iwlist wlan0 scan
+
will display the available wireless networks together with their ESSIDs if the router is configured to send these.
+
+
+
Then configure the file /etc/conf.d/net to use dhcp:
config_wlan0=( "dhcp" )
config_wlan0=( "dhcp" )
or a static ip:
or a static ip:
−
<pre>config_wlan0="192.168.1.37 netmask 255.255.255.0 brd 192.168.1.255"
+
<pre>config_wlan0=( "192.168.1.37 netmask 255.255.255.0 brd 192.168.1.255" )
−
routes_wlan0="default via 192.168.1.100"</pre>
+
routes_wlan0=( "default via 192.168.1.100" )
+
dns_servers_wlan0=( "192.168.1.1." )</pre>
−
== Booting the system ==
+
Insert a blank between the bracket and the quotation sign.
−
Install [[bootmii]] beta3 or higher
+
+
This should result in a net file like this example file:
+
<pre>
+
# This blank configuration will automatically use DHCP for any net.*
+
# scripts in /etc/init.d. To create a more complete configuration,
+
# please review /usr/share/doc/openrc/net.example and save your configuration
+
# in /etc/conf.d/net (this file :)!).
+
+
modules_wlan0=( "wpa_supplicant" )
+
wpa_supplicant_wlan0=( "-Dwext" )
+
+
#dhcp
+
config_wlan0=( "dhcp" )
+
+
#static ip
+
#config_wlan0=( "192.168.1.189 netmask 255.255.255.0 broadcast 192.168.1.255" )
+
#routes_wlan0=( "default via 192.168.1.1" )
+
#dns_servers_wlan0=( "192.168.1.1" )
+
+
#you may enter your ESSID here
+
essid_wlan0="dlink"
+
mode_wlan0="managed"
+
#default channel is 3 though
+
channel_wlan0="6"
+
#extend timeout here
+
associate_timeout_wlan0="20"
+
#mtu_wlan0="1400"
+
#wait a bit when scanning wlan networks
+
sleep_scan_wlan0="3"
+
</pre>
+
+
+
+
=== Testing the wireless connection ===
+
+
the following commands can be used for testing the wireless connection:
+
+
'''"ifconfig"''' [http://www.examplenow.com/man/ifconfig doc] will display the available interfaces, e.g. wlan0. If this interface has received an internet address by dhcp, ifconfig will show this address. It will take a moment till the interface wlan0 gets this address after booting, so you may retry this command.
+
+
'''"killall dhcpcd"''' [http://www.phystech.com/download/dhcpcd_man.html doc] this will stop the dhcp process which provides the dhcp client service for WiiToo!
+
+
'''"dhcpcd wlan0 restart"''' will run a script which restarts dhcpcd.
+
+
'''"iwconfig"''' [http://www.examplenow.com/man/iwconfig doc] will display information about the wireless interfaces such as wlan0 including the current ESSID used.
+
+
'''"/etc/init.d/net.wlan0 restart"''' will restart the interface wlan0. Can be used for testing after making changes to the net or wpa_supplicant files.
+
+
'''"/etc/init.d/net.wlan0 status"''' will show if the interface wlan0 has been successfully started.
+
+
'''"iwlist wlan0 scan"''' will display the available wireless networks.
+
+
'''"wpa_supplicant -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf -Dwext -d"''' will start the wpa_supplicant from the command line with the current configuration.
+
+
'''"ps -A"''' [http://www.examplenow.com/man/ps doc] lists all running processes and shows whether dhcpcd or wpa_supplicant are running
+
+
'''"ping www.google.com"''' this should work if everything is set up correcly. Press ctrl-C to exit.
+
+
'''"netstat"''' [http://www.examplenow.com/man/netstat doc] will e.g. display if a connection is established using SSH.
+
+
'''"route -e"''' [http://www.examplenow.com/man/route doc] will display the current routing table.
−
=== Choose your kernel image ===
+
The configuration files in question are "/etc/conf.d/net" and "/etc/wpa_supplicant/wpa_supplicant.conf".
−
You must choose your kernel image according to your TV (PAL/NTSC/480/576), WiiToo! provides 5 kernel images that can be found on /boot/ on the root partition.
−
When you have the correct kernel image just copy it to your boot partition on the SD card and use bootmii to load it. You must see something like this if you have the TV on:
+
A typical message is "WARNING: net.wlan0 has started, but is inactive". If everything is set up correctly, you will have to wait for a moment till the status changes to "started". Use ifconfig to check when the interface wlan0 gets an IP address from the dhcp server.
−
[[File:WiiToo! Boot.png|350px]]
+
=== Logging into the system from remote ===
−
=== Logging to your system ===
+
To log into the WiiToo! system on the Wii via the wireless LAN adapter you need a [http://www.examplenow.com/info/ssh SSH client] which is a remote login program. Enter the following command on your Linux PC:
−
You can logging to your system with SSH:
ssh -l wii ip.address.ofyour.wii
ssh -l wii ip.address.ofyour.wii
−
or simply you can use a USB keyboard.
+
Then log in using e.g. wii as your login name and wii again as your password.
−
The predefined user for your system is Wii with password Wii, and to log as root your name is root and password root. Change your passwords after logging to do it, read the next section.
+
For Windows you can use [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY]. Just click on putty.exe and enter the internet address of the Wii. Right-click on the title bar of PuTTY for the main menu.
−
== Configuring your system ==
+
The SSH connection often works slow though and seems to hang for a while.
−
After booting your system, you can configure some settings:
−
=== Changing your root password ===
+
== Using installed applications==
−
You MUST change your root password if you want a secure system, to change it just run:
−
# passwd root
−
and follow the instructions.
−
=== Changing the Wii user password or adding a new user ===
+
[http://libtorrent.rakshasa.no/ rTorrent] is BitTorrent client for the command line. Documentation can be found [http://kmandla.wordpress.com/2007/05/02/howto-use-rtorrent-like-a-pro/ here] and [http://libtorrent.rakshasa.no/rtorrent/rtorrent.1.html here].
−
Just run:
−
$ passwd wii
−
if you prefer to add a new user you can do:
−
# userdel wii
−
to erase the wii default user and then:
−
# useradd -m -G users,wheel,audio -s /bin/bash john
−
# passwd john
+
[http://irssi.org/ Irssi] is an IRC client. You will find a detailed description here: [http://quadpoint.org/articles/irssi irssi tutorial].
−
to add a user called john.
−
=== glibc locales ===
+
[http://en.wikipedia.org/wiki/GNU_Screen GNU Screen] is a free virtual terminal multiplexer that allows a user to access multiple separate terminal sessions inside a single terminal window or remote terminal session. It is useful for dealing with multiple programs from the command line, and for separating programs from the shell that started the program.
−
With this setting you can control the language of your system, charsets etc... don't touch it if you don't know what you are doing. To edit locales you can run:
+
Enter screen on the command line to invoke the program. Then use ctrl-a followed by "c" to open new windows and use ctrl-a followed by space bar to move between the windows. For additional information see the [http://www.gnu.org/software/screen/manual/screen.html#Selecting manual].
−
# nano -w /etc/locale.gen
−
and when it's done run:
−
# locale-gen
−
=== Hostname ===
+
This and additional software is also described [http://wiitoo.sourceforge.net/#s.12 here] at the WiiToo! site at Sourceforge.
−
The default system hostname is "Wii", you can change it just doing:
−
# nano -w /etc/conf.d/hostname
−
and put an original name like "Hermenegildo" :D.
−
=== keymaps ===
+
<!-- == Install additional software using emerge == -->
−
Gentoo uses /etc/conf.d/keymaps to handle keyboard configuration. Edit it to configure your keyboard.
−
# nano -w /etc/conf.d/keymaps
== Credits ==
== Credits ==
Thanks to all the people that have contributed in any way to this project, special thanks to Gentoo, [[Team Twiizers]], and isobel without them this wouldn't be possible.
Thanks to all the people that have contributed in any way to this project, special thanks to Gentoo, [[Team Twiizers]], and isobel without them this wouldn't be possible.