Precompiled Gentoo Linux ~ppc Stage4 for your Wii.
Choose your lang/Elige tu idioma:
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 |
Hardware | Status |
---|---|
Non-accelerated 2D video hardware | Correct RGB framebuffer support requires a special SDL library port |
Audio hardware | Works |
SDHC and Non-SDHC SD cards in SD mode | Works via the front SD card slot. |
Serial interface (SI) | Nintendo GameCube controllers, and WaveBird wireless controllers works. |
MEM2 memory as normal RAM | Works |
Internal USB Bluetooth dongle | Works |
Nintendo Wii Remote and related expansion accessories | Works |
Sensor Bar | Works |
USB 1.x and 2.0 devices | Works, 1.x devices can have some problems. |
Internal wireless network card | Works, can maintain rates up to 200KB |
SRAM/RTC | Works |
Nintendo GameCube memory cards | Doesn't work |
Internal DVD drive | Works |
For running it you will need:
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.
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/
Maybe you can try with cygwin, or using a GNU/Linux livecd like sysrescuecd.
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
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:
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
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.
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:
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:
You know I have to pay my bills, eat...
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
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.
irssi is preconfigured, according to this guide.
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.
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.
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.
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.