WiiToo!: Difference between revisions

From GameBrew
No edit summary
m (Text replacement - "type=Operating systems" to "type=Operating Systems")
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{#seo:
|title=Wii Homebrew Apps (Operating systems) - GameBrew
|title_mode=append
|image=wiitoowii.jpg
|image_alt=WiiToo!
}}
{{Infobox Wii Homebrews
{{Infobox Wii Homebrews
|title=WiiToo!
|title=WiiToo!
|image=wiitoowii.jpg
|image=wiitoowii.jpg
|description=Wii-Linux minimal Gentoo Stage4
|description=Wii-Linux minimal Gentoo Stage4.
|author=VQuickSilver
|author=VQuickSilver
|lastupdated=2010/12/19
|lastupdated=2010/12/19
|type=Operating systems
|type=Operating Systems
|version=29 October 2009
|version=19dec2010
|license=Mixed
|license=Mixed
|download=https://dlhb.gamebrew.org/wiihomebrews/wiitoowii.7z
|download=https://dlhb.gamebrew.org/wiihomebrews/wiitoowii.7z
|website=http://wiitoo.sourceforge.net/
|website=http://wiitoo.sourceforge.net/
|source=http://wiitoo.sourceforge.net/
|source=http://wiitoo.sourceforge.net/
|donation=https://wiitoo.sourceforge.net/#s.11
}}
{{#seo:
|title=Wii Homebrew Apps (Operating systems) - GameBrew
|title_mode=append
|image=wiitoowii.jpg
|image_alt=WiiToo!
}}
}}
'''''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 Wii]] patches, so expect WiFi working out of the box after just editing some configuration files.
 
WiiToo is a streamlined [http://en.gentoo-wiki.com/wiki/Custom_Stage4 stage4] precompilation designed to run [https://www.gentoo.org/ Gentoo] ~ppc on Wii with [http://www.gc-linux.org/wiki/MINI:KernelPreviewFour MIKE] and [http://wiibrew.org/wiki/Mini mini]. It includes essential software for compiling and installing new programs, as well as a few ready-to-use applications. The kernel is based on vanilla-sources with wii-linux patches, ensuring Wi-Fi functionality right out of the box.


== Features ==
== Features ==
*Ready to use, uncompress, copy, configure and run
* Ready to use: Simply uncompress, copy, configure, and boot.
*Highly configurable, like Gentoo
* Configurable like Gentoo.
*USB keyboard isn't a requirement but highly recommended, you could also configure your WLAN network and use SSH
* No need for a USB keyboard - configure network and use ssh.
*Can use all the hardware that Wii-Linux is able to use:
* Supports all hardware used by wii-linux.


:{| class="wikitable"
{| class="wikitable"
! Hardware
! Hardware
! Status
! Status
Line 70: Line 72:
|}
|}


== Requirements ==
==Installation==
===Requirements===
For running it you will need:
For running it you will need:
*SD Card, like any other you can use with your wii, 1GB or more is required
*SD Card, like any other you can use with your wii, 1GB or more is required
*USB keyboard & TV or simply a local network connection, to be able to login in the system, input commands, ''etc''
*USB keyboard & TV or simply a local network connection, to be able to login in the system, input commands, ''etc''


== Installation ==
===Download and install bootmii===
To boot WiiToo!, BootMii must be installed first. The [[BootMii Wii]] software can be downloaded from the BootMii [http://www.bootmii.org/download/ download page]. After downloading, copy the HackMii planner directory containing the boot.elf file to the APPS folder on your SD card. Launch the Homebrew channel and select the BootMii planner.


=== Download and install bootmii ===
It is recommended to install BootMii as IOS. Follow the instructions on the BootMii Wii page for more details. The HackMii planner will prepare the SD card for booting BootMii by creating a folder named "bootmii" with the files "ppcboot.elf", "armboot.bin", and "bootmii.ini".
For booting WiiToo! you will need bootmii. Therefore install [[Bootmii Wii]] 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 Wii]] 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, only the files "armboot.bin" and "bootmii.ini" are needed to prepare the boot partition. The WiiToo! kernel should be renamed to ppcboot.elf to use BootMii for booting.


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.
'''Note:''' If BootMii/boot2 is required, the WiiToo! kernel can be named differently and launched using the BootMii SD browser. Alternatively, removing the SD card before booting the Wii will prevent WiiToo! from starting on every boot, which may be desirable in some cases.


'''NOTE:''' If you MUST have BootMii/boot2 (BootMii/IOS will also work but not recommended) you can call the WiiToo! kernel something else and use the BootMii SD browser to launch the kernel, or WiiToo! will start up on EVERY BOOT, which may be undesirable in some cases. (Alternatively, remove the SD card before booting the Wii.)
=== Install from a Linux system ===
'''Making partitions on your SD card:'''


=== From a Linux PC ===
Use the white-linux partition scheme, or you'll need to edit /etc/fstab and the kernel image's boot parameters with a hex editor. Make sure to backup all data on the SD card before proceeding to avoid loss.
==== 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.
Place the SD card in a reader and locate its device file at /dev/ (use dmesg on Linux). Unmount any mounted partitions (check with df) and use fdisk to create a primary fat16 partition (30M is sufficient for WiiToo! kernel images and BootMii, but increase the size if using other homebrew apps or storing Wii data). Create another partition for the root filesystem, the bigger the better. Exit fdisk and unplug the SD card."


'''''Backup all the data on the SD card, before starting, or you will lose it.'''''
'''Becoming super user:'''


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 + bootmii, 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
  $ 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.
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 ====
'''Creating the filesystems:'''


Make sure the package dosfstools is installed on your system
Make sure the package dosfstools is installed on your system
Line 107: Line 107:
  # /sbin/mkfs.ext3 -L whiite /dev/mmcblk0p2
  # /sbin/mkfs.ext3 -L whiite /dev/mmcblk0p2


==== Creating mountpoints and mounting the filesystems ====
'''Creating mountpoints and mounting the filesystems:'''
 
  # mkdir /mnt/wiiroot /mnt/wiiboot
  # mkdir /mnt/wiiroot /mnt/wiiboot


Line 114: Line 115:
  # mount /dev/mmcblk0p2 /mnt/wiiroot
  # mount /dev/mmcblk0p2 /mnt/wiiroot


==== Installing WiiToo! on SD card ====
'''Installing WiiToo! on SD card:'''
 
To uncompress you need xz-utils:
To uncompress you need xz-utils:
  $ xz -d /path/to/wiitoo.tar.xz
  $ xz -d /path/to/wiitoo.tar.xz
Line 124: Line 126:
  # mv /mnt/wiiroot/boot/*.elf /mnt/wiiboot/bootmii/ppcboot.elf
  # mv /mnt/wiiroot/boot/*.elf /mnt/wiiboot/bootmii/ppcboot.elf


=== From a Windows PC ===
=== Install from a Windows System ===
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.


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.
'''Partition and prepare a SD card to run WiiToo!'''


==== Partition and prepare a SD card to run WiiToo! ====
a) Download the [https://sourceforge.net/projects/wiitoo/files/releases/wiitoo-19dec2010.tar.xz/download WiiToo! release archive].


a) download the [http://sourceforge.net/projects/wiitoo/files/releases/wiitoo-28oct2009.tar.xz/download WiiToo! release archive].
b) If you don't have [http://www.7-zip.org/ 7zip], download and install it.


b) download and install [http://www.7-zip.org/ 7zip] if you do not have this software already installed.
c) Use 7zip to extract the wiitoo-19dec2010.tar.xz file from the WiiToo! archive (wiitoo-28oct2009.tar.xz.tar).


c) open the WiiToo! archive wiitoo-28oct2009.tar.xz.tar with 7zip and extract the file wiitoo-28oct2009.tar.xz from it.
d) Remove the "xz" extension from wiitoo-19dec2010.tar.xz.


d) remove the "xz" extension from this file.
e) Compress wiitoo-28oct2009.tar to wiitoo-19dec2010.tar.bz2 with 7zip.


e) use 7zip to compress this file wiitoo-28oct2009.tar to a wiitoo-28oct2009.tar.bz2 archive.
f) Use 7zip to extract the kernel image that fits your Wii from the archive's boot directory (e.g. wiitoo-2.6.31-480ipal60.elf for PAL 60).


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 the extracted kernel image to ppcboot.elf.


g) rename this extracted kernel image file to ppcboot.elf.
h) Create a folder called "bootmii" and copy ppcboot.elf, armboot.bin, and bootmii.ini into it (get armboot.bin and bootmii.ini from the bootmii planner). Make a folder named "kernel" and copy the "bootmii" folder and its files into it.


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) Compress the "kernel" folder to a kernel.tar archive with 7zip.


i) use 7zip to make a tar archive from the kernel folder.
j) Compress kernel.tar to kernel.tar.bz2 with 7zip.


j) use 7zip to compress this kernel.tar file to a kernel.tar.bz2 archive.
k) Use a text editor (e.g. Programmer's Notepad or Devcpp) to set up the config file.


k) use the programmers notepad editor or the devcpp editor to set up the following config file:
<pre>
<pre>
#
#
# wiitoo-28oct2009
# wiitoo-19dec2010
#
#
# Includes:
# Includes:
# - wiitoo-linux 28oct2009
# - wiitoo-linux 19dec2010
# - wiitoo kernel 2.6.31
# - wiitoo kernel 2.6.31
#
#
Line 167: Line 169:
#
#
FS_MINIMUM_PART_SIZE=408 # MBs
FS_MINIMUM_PART_SIZE=408 # MBs
FS_TARBALL="wiitoo-28oct2009.tar.bz2"
FS_TARBALL="wiitoo-19dec2010.tar.bz2"
FS_TARBALL_FILE_COUNT=34651
FS_TARBALL_FILE_COUNT=34651


Line 177: Line 179:
KERNEL_TARBALL_FILE_COUNT=6
KERNEL_TARBALL_FILE_COUNT=6
</pre>
</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".
Save the config file as "whiite-linux-installer.conf", using a text editor that terminates lines with LF (not CR/LF as used in Windows).


m) put the USB flash disk into your Wii.
l) Copy the following files to the root directory of a USB flash disk: "wiitoo-19dec2010.tar.bz2", "kernel.tar.bz2", and "whiite-linux-installer.conf".


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.
m) Insert the USB flash disk into your Wii.


o) put this SC card into the Wii now.
n) Copy the whiite linux installer and its files to the APPS folder of an SD card.


p) start the whiite linux installer from the homebrew channel. Answer the prompts of this installer as required.
o) Insert the SD card into your Wii.


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 100MB 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.
p) Start the whiite linux planner from the homebrew channel and follow the prompts.


Having done all this you can boot WiiToo! as described below.
q) The planner will partition the SD card into a FAT16 and an EXT3 partition for WiiToo files.


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].
q-a) The size of the FAT16 partition can be 100MB or more, if you want to copy downloaded files later.<br>
q-b) The installer will install the files in "wiitoo-19dec2010.tar.bz2" to the EXT3 partition and the files in "kernel.tar.bz2" to the FAT16 partition, used for booting WiiToo.


==== Linux guides for Windows users ====
Boot WiiToo as described.
 
Alternatives: Use [https://www.cygwin.com/ Cygwin] or a GNU/Linux livecd such as [https://www.system-rescue.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:
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:
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]
[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]
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].
The Gentoo manual covering installation, Portage and network configuration is [http://www.gentoo.org/doc/en/handbook/handbook-x86.xml here].


==User guide==
=== Booting the system ===
'''To boot WiiToo!:'''


== Booting the system ==
* Start the Homebrew channel.
* Press the home button and select BootMii to load WiiToo.
* If the TV is on, you should see messages displayed on the screen after WiiToo! boots.


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:
Note: If launching BootMii from the HBC doesn't work, try loading WiiToo! through postloader, then Neek/Bootmii.
*Tester's note: this didn't work for me(bootmii ios), and to load WiiToo!, i had to use postloader then load neek/bootmii and it works, if launching bootmii from the hbc didn't work, try my method


=== Log into your WiiToo! system ===
'''To log into WiiToo!:'''


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.
* Use USB keyboard and log in as root with password root for tasks requiring root privileges.
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.
* Use predefined user Wii with password Wii.
* Change passwords for security if necessary.


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.
Alternative option: Log in through SSH after setting up the network. Note: this option may require testing and changing configuration files on the SD card using a Linux PC, and may be tedious without a keyboard.


=== Configuring your system ===
=== 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.
'''To configure settings:'''
 
*Use [https://www.nano-editor.org/ Nano editor] with simple user interface.
*Reference the [https://www.nano-editor.org/dist/v2.2/nano.html Nano manual] if needed.
 
'''Filesystem:'''
 
To fix file system issues after first boot: Type "FSCK" in the command line if complained about problems in the file system.


==== Filesystem ====
'''Keymaps:'''
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.
Gentoo uses the file /etc/conf.d/keymaps to handle keyboard configuration. Edit it to configure your keyboard.
  # nano -w /etc/conf.d/keymaps
  # nano -w /etc/conf.d/keymaps


==== MAC address ====
'''MAC address:'''
The previous 28oct2009 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.
 
The previous 28oct2009 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.
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 ====
'''Hostname:'''
 
The default system hostname is "Wii", you can change it just doing:
The default system hostname is "Wii", you can change it just doing:
  # nano -w /etc/conf.d/hostname
  # nano -w /etc/conf.d/hostname
and put an original name like "Hermenegildo" :D.
and put an original name like "Hermenegildo" :D.


==== Configuring openrc ====
'''Configuring openrc:'''
 
Openrc is the init system used in Gentoo, we have to setup clock and other settings.
Openrc is the init system used in Gentoo, we have to setup clock and other settings.


Line 246: Line 267:
You can view all available timezones exploring /mnt/wiiroot/usr/share/zoneinfo.
You can view all available timezones exploring /mnt/wiiroot/usr/share/zoneinfo.


==== Changing your root password ====
'''Changing your root password:'''
 
You MUST change your root password if you want a secure system, to change it just run:
You MUST change your root password if you want a secure system, to change it just run:
  # passwd root
  # passwd root
and follow the instructions.
and follow the instructions.


==== Changing the Wii user password or adding a new user ====
'''Changing the Wii user password or adding a new user:'''
 
Just run:
Just run:
  $ passwd wii
  $ passwd wii
Line 262: Line 285:
to add a user called john.
to add a user called john.


==== glibc locales ====
'''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:
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
  # nano -w /etc/locale.gen
Line 268: Line 292:
  # locale-gen
  # locale-gen


=== Configuring the network ===
'''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.
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.


Line 331: Line 356:


Select and adapt the wpa_supplicant.conf file according to your access point's settings.
Select and adapt the wpa_supplicant.conf file according to your access point's settings.


The command
The command
  iwlist wlan0 scan  
  iwlist wlan0 scan  
will display the available wireless networks together with their ESSIDs if the router is configured to send these.
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:
Then configure the file /etc/conf.d/net to use dhcp:
Line 377: Line 400:
</pre>
</pre>


=== Testing the wireless connection ===
===Testing the wireless connection===
 
'''Tester's note:''' for some reasons WiiToo! Is lacking dhcpcd, lacking a dhcp client and making internet connectivity near impossible
*Tester's note: for some reasons WiiToo! Is lacking dhcpcd, lacking a dhcp client and making internet connectivity near impossible
 
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.
The following commands can be used for testing the wireless connection:


'''"route -e"''' [http://www.examplenow.com/man/route doc] will display the current routing table.
*<code>ifconfig</code> [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.
*<code>killall dhcpcd</code> [http://www.phystech.com/download/dhcpcd_man.html doc] this will stop the dhcp process which provides the dhcp client service for WiiToo!
*<code>dhcpcd wlan0 restart</code> will run a script which restarts dhcpcd.
*<code>iwconfig</code> [http://www.examplenow.com/man/iwconfig doc] will display information about the wireless interfaces such as wlan0 including the current ESSID used.
*<code>/etc/init.d/net.wlan0 restart</code> will restart the interface wlan0. Can be used for testing after making changes to the net or wpa_supplicant files.
*<code>/etc/init.d/net.wlan0 status</code> will show if the interface wlan0 has been successfully started.
*<code>iwlist wlan0 scan</code> will display the available wireless networks.
*<code>wpa_supplicant -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf -Dwext -d</code> will start the wpa_supplicant from the command line with the current configuration.
*<code>ps -A</code> [http://www.examplenow.com/man/ps doc] lists all running processes and shows whether dhcpcd or wpa_supplicant are running.
*<code>ping www.google.com</code> this should work if everything is set up correcly. Press ctrl-C to exit.
*<code>netstat</code> [http://www.examplenow.com/man/netstat doc] will e.g. display if a connection is established using SSH.
*<code>route -e</code> [http://www.examplenow.com/man/route doc] will display the current routing table.


The configuration files in question are "/etc/conf.d/net" and "/etc/wpa_supplicant/wpa_supplicant.conf".
The configuration files in question are "/etc/conf.d/net" and "/etc/wpa_supplicant/wpa_supplicant.conf".
Line 412: Line 423:


=== Logging into the system from remote ===
=== Logging into the system from remote ===
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:  
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:  
  ssh -l wii ip.address.ofyour.wii
  ssh -l wii ip.address.ofyour.wii
Line 421: Line 431:
The SSH connection often works slow though and seems to hang for a while.
The SSH connection often works slow though and seems to hang for a while.


== Using installed applications==
=== Using installed applications===
 
[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].
[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].


Line 432: Line 441:
This and additional software is also described [http://wiitoo.sourceforge.net/#s.12 here] at the WiiToo! site at Sourceforge.
This and additional software is also described [http://wiitoo.sourceforge.net/#s.12 here] at the WiiToo! site at Sourceforge.


== Installing further applications==
=== Installing further applications===
 
==== Making a swap file ====
=== Making a swap file ===
 
If you want to compile bigger applications on your Wii you will soon run out of memory. To avoid this you can generate a swap file so WiiToo! can use that if it runs out of memory. This is how you do that:
If you want to compile bigger applications on your Wii you will soon run out of memory. To avoid this you can generate a swap file so WiiToo! can use that if it runs out of memory. This is how you do that:


Line 457: Line 464:
  /swapfile1 swap swap defaults 0 0
  /swapfile1 swap swap defaults 0 0


=== Classic method ===
==== Classic method ====
 
The prefered method for installing software is using the Portage package manager, however, there are files which are not available on the Gentoo servers. For example software which is developed for the Wii such as the x86f-video-cube driver.
The prefered method for installing software is using the Portage package manager, however, there are files which are not available on the Gentoo servers. For example software which is developed for the Wii such as the x86f-video-cube driver.


Line 474: Line 480:
"Configure" is a script which e.g. checks that your system has the proper dependencies in order to compile the program or driver from source. Some of these scripts allow you to specify options to compile with or without support for certain modules. Make executes the Make program which runs the makefile in the directory. make install causes make to run the makefile again, this time with the target "install" copying the compiled files to the proper location. If every step succeeded, you can run the program now.
"Configure" is a script which e.g. checks that your system has the proper dependencies in order to compile the program or driver from source. Some of these scripts allow you to specify options to compile with or without support for certain modules. Make executes the Make program which runs the makefile in the directory. make install causes make to run the makefile again, this time with the target "install" copying the compiled files to the proper location. If every step succeeded, you can run the program now.


=== Using the Portage package manager ===
==== Using the Portage package manager ====
 
To add further applications to WiiToo!, you can use Gentoo's package manager [http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 Portage] or [http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3] or [http://wiki.sabayonlinux.org/index.php?title=En:HOWTO:_The_Complete_Portage_Guide#.2Fetc.2Fmake.conf]. Portage provides "ebuilds" for each software package which contain all the necessay information to compile the package on the hardware platform in use. A complete set of these ebuilds has to be available on the local PC in form of a Portage tree in the directory /usr/portage . If this is the case e.g. the command  
To add further applications to WiiToo!, you can use Gentoo's package manager [http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 Portage] or [http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3] or [http://wiki.sabayonlinux.org/index.php?title=En:HOWTO:_The_Complete_Portage_Guide#.2Fetc.2Fmake.conf]. Portage provides "ebuilds" for each software package which contain all the necessay information to compile the package on the hardware platform in use. A complete set of these ebuilds has to be available on the local PC in form of a Portage tree in the directory /usr/portage . If this is the case e.g. the command  


Line 490: Line 495:
The -v option selects verbose mode.
The -v option selects verbose mode.


== Mounting a flash disk ==
=== Mounting a flash disk ===
 
If you need more disk space or want to transfer files to the WiiToo! system, you can mount a flash disk. If you leave the flash disk with a FAT32 file system you can use it mainly for transfering files. Otherwise you should use the ext3 file system. You can put that file system on the flash disk with the command "/sbin/mkfs.ext3". However, this will destroy all files currently on the flash disk.  
If you need more disk space or want to transfer files to the WiiToo! system, you can mount a flash disk. If you leave the flash disk with a FAT32 file system you can use it mainly for transfering files. Otherwise you should use the ext3 file system. You can put that file system on the flash disk with the command "/sbin/mkfs.ext3". However, this will destroy all files currently on the flash disk.  


After plugging in the flash disk you have to:
After plugging in the flash disk you have to:
* Check if the flash disk is found by WiiToo! and read its device name: enter "dmesg". This will flood the screen with messages and at the end disclose the device name e.g. as "sda/sda1".
* Create a mount point with: "mkdir /mnt/flashdisk"
* Mount the flash disk: "mount /dev/sda1 /mnt/flashdisk"


1. check if the flash disk is found by WiiToo! and read its device name: enter "dmesg". This will flood the screen with messages and at the end disclose the device name e.g. as "sda/sda1".
Now you can see the files on the flash disk: "ls /mnt/flashdisk".


2. Create a mount point with: "mkdir /mnt/flashdisk"
==Media==
 
'''Nintendo Wii com Linux 2021''' ([https://www.youtube.com/watch?v=_s4KIL26yic ColecaoNintendo])<br>
3. Mount the flash disk: "mount /dev/sda1 /mnt/flashdisk"
<youtube>_s4KIL26yic</youtube>
 
Now you can see the files on the flash disk: "ls /mnt/flashdisk".


== 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.


==External links==
==External links==
* Wiibrew - https://wiibrew.org/wiki/WiiToo!
* Official website - https://wiitoo.sourceforge.net/
* WiiBrew - https://wiibrew.org/wiki/WiiToo!
 
[[Category:Support the author]]

Latest revision as of 09:35, 7 May 2024

WiiToo!
Wiitoowii.jpg
General
AuthorVQuickSilver
TypeOperating Systems
Version19dec2010
LicenseMixed
Last Updated2010/12/19
Links
Download
Website
Source
Support Author


WiiToo is a streamlined stage4 precompilation designed to run Gentoo ~ppc on Wii with MIKE and mini. It includes essential software for compiling and installing new programs, as well as a few ready-to-use applications. The kernel is based on vanilla-sources with wii-linux patches, ensuring Wi-Fi functionality right out of the box.

Features

  • Ready to use: Simply uncompress, copy, configure, and boot.
  • Configurable like Gentoo.
  • No need for a USB keyboard - configure network and use ssh.
  • Supports all hardware used by wii-linux.
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, requires a module to be loaded
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 Doesn't work

Installation

Requirements

For running it you will need:

  • SD Card, like any other you can use with your wii, 1GB or more is required
  • USB keyboard & TV or simply a local network connection, to be able to login in the system, input commands, etc

Download and install bootmii

To boot WiiToo!, BootMii must be installed first. The BootMii Wii software can be downloaded from the BootMii download page. After downloading, copy the HackMii planner directory containing the boot.elf file to the APPS folder on your SD card. Launch the Homebrew channel and select the BootMii planner.

It is recommended to install BootMii as IOS. Follow the instructions on the BootMii Wii page for more details. The HackMii planner will prepare the SD card for booting BootMii by creating a folder named "bootmii" with the files "ppcboot.elf", "armboot.bin", and "bootmii.ini".

For the Windows installation, only the files "armboot.bin" and "bootmii.ini" are needed to prepare the boot partition. The WiiToo! kernel should be renamed to ppcboot.elf to use BootMii for booting.

Note: If BootMii/boot2 is required, the WiiToo! kernel can be named differently and launched using the BootMii SD browser. Alternatively, removing the SD card before booting the Wii will prevent WiiToo! from starting on every boot, which may be desirable in some cases.

Install from a Linux system

Making partitions on your SD card:

Use the white-linux partition scheme, or you'll need to edit /etc/fstab and the kernel image's boot parameters with a hex editor. Make sure to backup all data on the SD card before proceeding to avoid loss.

Place the SD card in a reader and locate its device file at /dev/ (use dmesg on Linux). Unmount any mounted partitions (check with df) and use fdisk to create a primary fat16 partition (30M is sufficient for WiiToo! kernel images and BootMii, but increase the size if using other homebrew apps or storing Wii data). Create another partition for the root filesystem, the bigger the better. 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:

Make sure the package dosfstools is installed on your system

# /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/

/mnt/wiiroot/boot is a dummy that contains a .elf file, that elf file is our linux kernel that outputs NTSC, for PAL or 480p, some patches might be necessary, copy the file to your bootmii folder

# mv /mnt/wiiroot/boot/*.elf /mnt/wiiboot/bootmii/ppcboot.elf

Install from a Windows System

Just use the whiite-linux-installer and 7zip on your Windows PC. These links point to the pages where you can download this software.

Partition and prepare a SD card to run WiiToo!

a) Download the WiiToo! release archive.

b) If you don't have 7zip, download and install it.

c) Use 7zip to extract the wiitoo-19dec2010.tar.xz file from the WiiToo! archive (wiitoo-28oct2009.tar.xz.tar).

d) Remove the "xz" extension from wiitoo-19dec2010.tar.xz.

e) Compress wiitoo-28oct2009.tar to wiitoo-19dec2010.tar.bz2 with 7zip.

f) Use 7zip to extract the kernel image that fits your Wii from the archive's boot directory (e.g. wiitoo-2.6.31-480ipal60.elf for PAL 60).

g) Rename the extracted kernel image to ppcboot.elf.

h) Create a folder called "bootmii" and copy ppcboot.elf, armboot.bin, and bootmii.ini into it (get armboot.bin and bootmii.ini from the bootmii planner). Make a folder named "kernel" and copy the "bootmii" folder and its files into it.

i) Compress the "kernel" folder to a kernel.tar archive with 7zip.

j) Compress kernel.tar to kernel.tar.bz2 with 7zip.

k) Use a text editor (e.g. Programmer's Notepad or Devcpp) to set up the config file.

#
# wiitoo-19dec2010
#
# Includes:
# - wiitoo-linux 19dec2010
# - wiitoo kernel 2.6.31
#
#

MINIMUM_CARD_SIZE=450 # MBs

#
# Filesystem tarball settings
#
FS_MINIMUM_PART_SIZE=408 # MBs
FS_TARBALL="wiitoo-19dec2010.tar.bz2"
FS_TARBALL_FILE_COUNT=34651

#
# Kernel tarball settings
#

KERNEL_TARBALL="kernel.tar.bz2"
KERNEL_TARBALL_FILE_COUNT=6

Save the config file as "whiite-linux-installer.conf", using a text editor that terminates lines with LF (not CR/LF as used in Windows).

l) Copy the following files to the root directory of a USB flash disk: "wiitoo-19dec2010.tar.bz2", "kernel.tar.bz2", and "whiite-linux-installer.conf".

m) Insert the USB flash disk into your Wii.

n) Copy the whiite linux installer and its files to the APPS folder of an SD card.

o) Insert the SD card into your Wii.

p) Start the whiite linux planner from the homebrew channel and follow the prompts.

q) The planner will partition the SD card into a FAT16 and an EXT3 partition for WiiToo files.

q-a) The size of the FAT16 partition can be 100MB or more, if you want to copy downloaded files later.
q-b) The installer will install the files in "wiitoo-19dec2010.tar.bz2" to the EXT3 partition and the files in "kernel.tar.bz2" to the FAT16 partition, used for booting WiiToo.

Boot WiiToo as described.

Alternatives: Use Cygwin or a GNU/Linux livecd such as 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: tut1 or tut2.

There is also a one page linux manual.

The Gentoo manual covering installation, Portage and network configuration is here.

User guide

Booting the system

To boot WiiToo!:

  • Start the Homebrew channel.
  • Press the home button and select BootMii to load WiiToo.
  • If the TV is on, you should see messages displayed on the screen after WiiToo! boots.

Note: If launching BootMii from the HBC doesn't work, try loading WiiToo! through postloader, then Neek/Bootmii.

To log into WiiToo!:

  • Use USB keyboard and log in as root with password root for tasks requiring root privileges.
  • Use predefined user Wii with password Wii.
  • Change passwords for security if necessary.

Alternative option: Log in through SSH after setting up the network. Note: this option may require testing and changing configuration files on the SD card using a Linux PC, and may be tedious without a keyboard.

Configuring your system

To configure settings:

Filesystem:

To fix file system issues after first boot: Type "FSCK" in the command line if complained about problems in the file system.

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 previous 28oct2009 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:

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

To setup the clock create /mnt/wiiroot/etc/timezone and set the path relative to your timezone for example:

America/New_York

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

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

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: tut and man page.

This is an example wpa_supplicant.conf file which will work with an open WLAN without security:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel

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
}

This is an example wpa_supplicant.conf file which will work with WEP security:

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
}

This is an example wpa_supplicant.conf file which will work with WPA-PSK security:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel

eapol_version=1
ap_scan=1
fast_reauth=1
country=ES

network={
   ssid="Example ESSID"
   proto=WPA
   key_mgmt=WPA-PSK
   psk="YouWillNeverKnowTheSecretThatIdontShow"
   pairwise=CCMP TKIP
   group=CCMP TKIP WEP104 WEP40
   priority=5
}

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" )

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" )
dns_servers_wlan0=( "192.168.1.1." )

Insert a blank between the bracket and the quotation sign.

This should result in a net file like this example file:

# 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"

Testing the wireless connection

Tester's note: for some reasons WiiToo! Is lacking dhcpcd, lacking a dhcp client and making internet connectivity near impossible

The following commands can be used for testing the wireless connection:

  • 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 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 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 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 doc will e.g. display if a connection is established using SSH.
  • route -e doc will display the current routing table.

The configuration files in question are "/etc/conf.d/net" and "/etc/wpa_supplicant/wpa_supplicant.conf".

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.

Logging into the system from remote

To log into the WiiToo! system on the Wii via the wireless LAN adapter you need a SSH client which is a remote login program. Enter the following command on your Linux PC:

ssh -l wii ip.address.ofyour.wii

Then log in using e.g. wii as your login name and wii again as your password.

For Windows you can use 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.

The SSH connection often works slow though and seems to hang for a while.

Using installed applications

rTorrent is BitTorrent client for the command line. Documentation can be found here and here.

Irssi is an IRC client. You will find a detailed description here: irssi tutorial.

GNU Screen is a virtual terminal multiplexer that allows a user to access multiple separate terminal sessions inside a single terminal window. It is useful for dealing with multiple programs from the command line, and for separating programs from the shell that started the program. 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 manual.

This and additional software is also described here at the WiiToo! site at Sourceforge.

Installing further applications

Making a swap file

If you want to compile bigger applications on your Wii you will soon run out of memory. To avoid this you can generate a swap file so WiiToo! can use that if it runs out of memory. This is how you do that:

a) Make sure you are logged in as the root user

b) Type following command to create a 128MB swap file (1024 * 128MB = block size):

# dd if=/dev/zero of=/swapfile1 bs=1024 count=131072

Depending on the size of your SD card you can also make a bigger swapfile, e.g. set count=327680 to get a 320MB file.

c) Set up the swap area:

# mkswap /swapfile1

d) Activate /swapfile1 swap space now:

# swapon /swapfile1

e) See how much memory is available:

# free -m

f) To activate /swapfile1 each time WiiToo! is booted, add a swapfile entry to the /etc/fstab file. Open /etc/fstab with Nano and append this line:

/swapfile1 swap swap defaults 0 0

Classic method

The prefered method for installing software is using the Portage package manager, however, there are files which are not available on the Gentoo servers. For example software which is developed for the Wii such as the x86f-video-cube driver.

For a test lets try to install the game ascii-invaders. Since we have no graphics installed yet, we have to stick with ASCII games.

To install this you have to download the software from this link: ASCII invaders.

Now go into the src directory: "cd ~/src". Extract the downloaded archive there with the command (provided the archive is in the root directory):

# tar -xjvf /invaders0.1b.tgz  

This will make a new subdirectory called "invaders0.1b" and put all the files from the archive into that. Then use e.g. "cd ~/src/invaders0.1b" to go into this directory.

At this stage you can compile and install the game. First enter ./configure from the command line, then make, then make install. You can do that in one line if you do not expect that anything goes wrong: "./configure && make && make install".

"Configure" is a script which e.g. checks that your system has the proper dependencies in order to compile the program or driver from source. Some of these scripts allow you to specify options to compile with or without support for certain modules. Make executes the Make program which runs the makefile in the directory. make install causes make to run the makefile again, this time with the target "install" copying the compiled files to the proper location. If every step succeeded, you can run the program now.

Using the Portage package manager

To add further applications to WiiToo!, you can use Gentoo's package manager Portage or [1] or [2]. Portage provides "ebuilds" for each software package which contain all the necessay information to compile the package on the hardware platform in use. A complete set of these ebuilds has to be available on the local PC in form of a Portage tree in the directory /usr/portage . If this is the case e.g. the command

emerge xz-utils  

will download the source for the xz compression utilities from the Gentoo servers and compile and install them on your PC.

The Portage tree usually needs over 1000 MB of disk space. Since we operate on a SD card, we will usually have not that much space available. So the latest release of WiiToo! holds this portage tree in a SQUASH file system, so it will fit on the SD card.

Lets try if this works now. As a simple emerge download and install the automake utility. For this enter the command:

emerge -v automake 

The -v option selects verbose mode.

Mounting a flash disk

If you need more disk space or want to transfer files to the WiiToo! system, you can mount a flash disk. If you leave the flash disk with a FAT32 file system you can use it mainly for transfering files. Otherwise you should use the ext3 file system. You can put that file system on the flash disk with the command "/sbin/mkfs.ext3". However, this will destroy all files currently on the flash disk.

After plugging in the flash disk you have to:

  • Check if the flash disk is found by WiiToo! and read its device name: enter "dmesg". This will flood the screen with messages and at the end disclose the device name e.g. as "sda/sda1".
  • Create a mount point with: "mkdir /mnt/flashdisk"
  • Mount the flash disk: "mount /dev/sda1 /mnt/flashdisk"

Now you can see the files on the flash disk: "ls /mnt/flashdisk".

Media

Nintendo Wii com Linux 2021 (ColecaoNintendo)

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.

External links

Advertising: