WiiToo!

Precompiled Gentoo Linux ~ppc Stage4 for your Wii.

Choose your lang/Elige tu idioma:

english

espaƱol

Table of Contents

1. Introduction
2. Features
3. Requirements
4. Downloading
5. Installation from a Linux system
6. Installation from a Windows system
7. Final steps
8. Booting
9. Configuring your system
10. Links and credits
11. Donate
12. Included packages
13. About screen
14. About irssi
15. About rtorrent
16. About sshfs
17. About alsa
18. About bluetooth

1. Introduction

WiiToo is a minimal precompiled stage4 made to let you run Gentoo ~ppc on your Wii using 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 ;).

2. Features

3. Requirements

For running it you will need:

4. Downloading

Getting the stage4

A stage4 is simple a tar compressed file containing all the files that you need. You can obtain this file on our downloads page.

5. Installation from a Linux system

Making partitions on your SD card

The recommended partitioning scheme it's the whiite-linux scheme, else you will have to edit /etc/fstab and the boot parameters on the kernel image with a hexeditor.

Backup all the data on the SD card, before starting, or you will lose it.

Now put your SD card on the reader, find the corresponding device file on /dev, mine is /dev/mmcblk0, (Tip: See dmesg output if you are on linux) and umount any partition that can be mounted (Check with df). Now use fdisk to create a primary fat16 partition (this will be our boot partition), 30M should be enough for WiiToo! kernel images + bootmi, but if you are going to use another homebrew apps, or to store data from your Wii, make it bigger. Finally create the partition for the root filesystem (the bigger the better :D), exit fdisk, and unplug the SD card.

Becoming super user

$ su

an alternative is using sudo, you must put sudo at the start of the commands that start with #, the commands that start with $ can be run as a normal user.

Creating the filesystems

# /sbin/mkfs.vfat -n boot /dev/mmcblk0p1
# /sbin/mkfs.ext3 -L whiite /dev/mmcblk0p2

Creating mountpoints and mounting the filesystems

# mkdir /mnt/wiiroot /mnt/wiiboot
# mount /dev/mmcblk0p1 /mnt/wiiboot
# mount /dev/mmcblk0p2 /mnt/wiiroot

Installing WiiToo! on SD card

To uncompress you need xz-utils:

$ xz -d /path/to/wiitoo.tar.xz
# tar xpf /path/to/wiitoo.tar -C /mnt/wiiroot/

6. Installation from a Windows System

Maybe you can try with cygwin, or using a GNU/Linux livecd like sysrescuecd.

7. Final steps

Finally we configure some openrc settings, and the network.

Configuring openrc

Openrc is the init system used in Gentoo, we have to setup clock and other settings.

Configuring the clock

To setup the clock copy to /mnt/wiiroot/etc/timezone the required file according to your timezone, for example:

cp /mnt/wiiroot/usr/share/zoneinfo/America/New_York /etc/localtime

you can view all available timezones exploring /mnt/wiiroot/usr/share/zoneinfo.

Configuring the network

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.

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:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel

eapol_version=1
ap_scan=1
fast_reauth=1
country=ES
network={
   ssid="ExampleSSID"
   key_mgmt=WPA-PSK
   psk="YouWillNeverKnowTheSecretThatIdontShow"
}

Then configure /etc/conf.d/net to use dhcp:

config_wlan0=( "dhcp" )

or a static ip:

config_wlan0="192.168.1.37 netmask 255.255.255.0 brd 192.168.1.255"
routes_wlan0="default via 192.168.1.100"
   

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.

keymaps

Gentoo uses /etc/conf.d/keymaps to handle keyboard configuration. Edit it to configure your keyboard.

# nano -w /etc/conf.d/keymaps

8. Booting the system

Install bootmi beta3 or higher

Bootmi will be used like the "bootloader" so you must install it on your Wii. There is enough information on the hackmii page to accomplish this task on your own.

Choose your kernel parameters

You must choose your kernel parameters according to your TV (PAL/NTSC/480/576).

Just open /boot/2.6.*-zImage.elf with your favourite hexeditor and search for string "lovers" and then something like "video:gcnfb...", then search "framebuffer" in this page, and you will see what you have to put there. When you have finished just copy the file to the fat partition of your sdcard and boot it with bootmii. You must see something like this if you have the tv on:

Shows a system booting

Logging to your system

You can logging to your system with ssh:

ssh -l wii ip.address.ofyour.wii

or simply you can use a usb keyboard.

The predefined user for your system is wii with password wii, and to log as root your name is root and password root, really hard ;). Change your passwords after logging to do it, read the next section

9. Configuring your system

After booting your system, you can configure some settings:

Changing your root password

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

Remember that you must update env variables, see Gentoo localization guide for more info about this topic.

10. Links and credits

Credits

Thanks to all the people that have contributed in any way to this project, special thanks to Gentoo ppc,Team Twiizers, and isobel without them this wouldn't be possible.

Special thanks to Berta for fixing some typos.

WiiToo! is packaged by VQuickSilver.

Here you can find some useful links:

Gentoo Linux Distribution

Team Twiizers

openfwwf

bootmii

About Wii wifi

About the framebuffer

About the kernel

If you like WiiToo! or is useful for you, or you want me to implement something, you can donate money trough paypal using this button:

Support This Project

You know I have to pay my bills, eat...

12. Included packages

Timestamp of tree: Fri, 10 Dec 2010 10:30:01 +0000

app-admin/eselect-1.2.13
app-admin/eselect-python-20100321
app-admin/gam-server-0.1.10
app-admin/gamin-0.1.10
app-admin/localepurge-0.5.3.3
app-admin/perl-cleaner-2.8
app-admin/python-updater-0.8
app-arch/bzip2-1.0.6-r1
app-arch/cpio-2.11
app-arch/gzip-1.4
app-arch/tar-1.25
app-arch/unzip-6.0-r1
app-arch/xz-utils-5.0.0
app-editors/nano-2.2.5
app-misc/ca-certificates-20090709
app-misc/mime-types-8
app-misc/pax-utils-0.2.2
app-misc/realpath-1.15-r3
app-misc/screen-4.0.3-r4
app-portage/gentoolkit-0.3.0_rc11-r3
app-portage/portage-utils-0.4
app-shells/bash-4.1_p9
app-text/build-docbook-catalog-1.5
app-text/docbook-xml-dtd-4.3-r1
app-text/docbook-xsl-stylesheets-1.76.0
app-text/sgml-common-0.6.3-r5
dev-lang/perl-5.12.2-r4
dev-lang/python-2.7.1
dev-lang/python-3.1.3
dev-libs/expat-2.0.1-r3
dev-libs/glib-2.26.1
dev-libs/gmp-5.0.1
dev-libs/libevent-1.4.14b-r1
dev-libs/libffi-3.0.9
dev-libs/libgamin-0.1.10-r2
dev-libs/libgcrypt-1.4.6
dev-libs/libgpg-error-1.7
dev-libs/libnl-1.1-r2
dev-libs/libpcre-8.02
dev-libs/libsigc++-2.2.7
dev-libs/libxml2-2.7.7
dev-libs/libxslt-1.1.26
dev-libs/mpc-0.8.2
dev-libs/mpfr-3.0.0_p3
dev-libs/openssl-1.0.0c
dev-libs/popt-1.16
dev-perl/Authen-SASL-2.15
dev-perl/Digest-HMAC-1.02
dev-perl/Digest-SHA1-2.13
dev-perl/Error-0.17.016
dev-perl/IO-Socket-SSL-1.35
dev-perl/Locale-gettext-1.05-r1
dev-perl/Net-SMTP-SSL-1.01
dev-perl/Net-SSLeay-1.36
dev-perl/YAML-Tiny-1.44
dev-python/argparse-1.1
dev-python/setuptools-0.6.14
dev-util/dialog-1.1.20100428
dev-util/gtk-doc-am-1.15
dev-util/pkgconfig-0.25-r2
dev-vcs/git-1.7.3.3
media-libs/alsa-lib-1.0.23
media-sound/alsa-headers-1.0.23
media-sound/alsa-utils-1.0.23-r1
net-irc/irssi-0.8.15
net-libs/libtorrent-0.12.6
net-misc/curl-7.21.2
net-misc/iputils-20100418-r1
net-misc/openssh-5.6_p1-r2
net-misc/rsync-3.0.7
net-misc/tor-0.2.1.27
net-misc/wget-1.12-r3
net-p2p/rtorrent-0.8.6-r1
net-proxy/privoxy-3.0.17
net-proxy/tsocks-1.8_beta5-r5
net-wireless/wireless-tools-29
net-wireless/wpa_supplicant-0.7.3-r1
perl-core/Archive-Tar-1.72
perl-core/Compress-Raw-Bzip2-2.030
perl-core/Compress-Raw-Zlib-2.030
perl-core/Digest-MD5-2.51
perl-core/ExtUtils-CBuilder-0.27.03
perl-core/ExtUtils-ParseXS-2.22.06
perl-core/IO-Compress-2.030
perl-core/Module-Build-0.36.07
perl-core/Scalar-List-Utils-1.23
perl-core/Test-Harness-3.22
sys-apps/acl-2.2.49
sys-apps/attr-2.4.44
sys-apps/baselayout-2.0.1-r1
sys-apps/busybox-1.17.4
sys-apps/coreutils-8.7
sys-apps/debianutils-3.4.2
sys-apps/diffutils-3.0
sys-apps/file-5.04
sys-apps/findutils-4.5.9
sys-apps/gawk-3.1.8
sys-apps/grep-2.7
sys-apps/groff-1.20.1-r3
sys-apps/help2man-1.38.2
sys-apps/kbd-1.15.2-r1
sys-apps/less-436
sys-apps/man-1.6f-r5
sys-apps/man-pages-3.32
sys-apps/man-pages-posix-2003a
sys-apps/module-init-tools-3.12-r1
sys-apps/net-tools-1.60_p20100815160931
sys-apps/openrc-0.6.8
sys-apps/portage-2.1.9.25
sys-apps/sandbox-2.4
sys-apps/sed-4.2.1-r1
sys-apps/shadow-4.1.4.2-r6
sys-apps/sysvinit-2.88-r1
sys-apps/tcp-wrappers-7.6-r8
sys-apps/texinfo-4.13
sys-apps/util-linux-2.18-r1
sys-apps/which-2.20
sys-auth/pambase-20101024
sys-devel/autoconf-2.68
sys-devel/autoconf-wrapper-10-r1
sys-devel/automake-1.11.1
sys-devel/automake-wrapper-5
sys-devel/binutils-2.21
sys-devel/binutils-config-2-r1
sys-devel/bison-2.4.3
sys-devel/flex-2.5.35_p10
sys-devel/gcc-4.5.1-r1
sys-devel/gcc-config-1.4.1
sys-devel/gdb-7.2
sys-devel/gettext-0.18.1.1-r1
sys-devel/gnuconfig-20100924
sys-devel/libperl-5.10.1
sys-devel/libtool-2.4-r1
sys-devel/m4-1.4.15
sys-devel/make-3.82
sys-devel/patch-2.6.1
sys-fs/e2fsprogs-1.41.12-r1
sys-fs/fuse-2.8.5
sys-fs/hfsplusutils-1.0.4-r1
sys-fs/hfsutils-3.2.6-r5
sys-fs/ntfs3g-2010.10.2
sys-fs/squashfs-tools-4.1
sys-fs/sshfs-fuse-2.2
sys-fs/sysfsutils-2.1.0
sys-fs/udev-164
sys-kernel/linux-headers-2.6.36.1
sys-libs/cracklib-2.8.18
sys-libs/db-4.8.30
sys-libs/e2fsprogs-libs-1.41.12
sys-libs/gdbm-1.8.3-r4
sys-libs/glibc-2.12.1-r3
sys-libs/gpm-1.20.6
sys-libs/ncurses-5.7-r6
sys-libs/pam-1.1.3
sys-libs/readline-6.1_p2
sys-libs/timezone-data-2010o
sys-libs/zlib-1.2.5-r2
sys-process/procps-3.2.8-r2
sys-process/psmisc-22.13
virtual/acl-0
virtual/editor-0
virtual/init-0
virtual/libffi-0
virtual/libiconv-0
virtual/libintl-0
virtual/pager-0
virtual/perl-Archive-Tar-1.72
virtual/perl-Compress-Raw-Bzip2-2.030
virtual/perl-Compress-Raw-Zlib-2.030
virtual/perl-Digest-MD5-2.51
virtual/perl-ExtUtils-CBuilder-0.27.03
virtual/perl-ExtUtils-ParseXS-2.22.06
virtual/perl-IO-Compress-2.030
virtual/perl-IO-Zlib-1.10
virtual/perl-Module-Build-0.36.07
virtual/perl-Package-Constants-0.02
virtual/perl-Scalar-List-Utils-1.23
virtual/perl-Test-Harness-3.22
virtual/perl-digest-base-1.16
virtual/perl-libnet-1.22
www-client/lynx-2.8.8_pre5

13. About screen

Screen is preconfired to "work out of the box", if you don't like the default configuration just rm .screenrc.

You can find lot of info about screen on google.

14. About irssi

irssi is preconfigured, according to this guide.

15. About rtorrent

rtorrent is a ncurses bittorrent client.

to start rtorrent run the following command:

$ rtorrent

to download a torrent simply you can put the torrent file on ~/rtorrent/watch/ and it will start downloading it without any more interaction. You can view more info about rtorrent on google and on his page.

16. About sshfs

sshfs is included, if you have sshd running on your computer you can use it to access the contents of your computer from your wii. Remember to load the fuse module.

17. About alsa

Alsa is included since 28-oct-2009 release, the sound should work out of the box. To test it you can run:

$ speaker-test -c 2 -twav

If you don't need it, block the alsasound script startup, and the load of the modules to save some memory.

18. About bluetooth

Bluez utils are included since 28-oct-2009 release, they are disabled on bootup by default because you must configure them before according to Gentoo guide, wich can be found here. After the configration is done you can start bluetooth with:

# /etc/init.d/bluetooth start

NOTE: in 19-Dec-2010 bluez is no longer included, you have to install it yourself.