Easy Wii Linux: Instant PC

Easy Wii Linux: Instant PCTurn you homebrew enabled Wii into a full featured personal computer, with the installation of only two files. No special formatting or hardware required.

Built with ease of use and the Wii's limited system resources as the bullet points. EWL begins with a Debian Squeeze core. Added to that is a selection of packages that fit the model. Finally many applications that aren't available in the Debian repository, where compiled specifically for this distribution. All of this is combined, to provide a seamlessly home computing experience, that can satisfy most needs.

Installation:

Step One: install the Linux disk image.A zip archive(~340mb) containing the image can be found here:[www.fileswap.com]Decompressed the archive contains one folder named "linux", which contains one file "linuxdsk.img"(1gb). Copy this folder to the root of a FAT 16 formated SD card.

Step Two: install the executable kernel image.Copy this file to someplace easy to find from the BootMii menu:[sites.google.com] (~4mb)This kernel uses the auto video detection mode. It will correctly set you video mode if loaded from the BootMii menu. If you are going to direct boot, use a kernel with your specific video mode preset from this archive:[www.mediafire.com] (~22mb)

Usage:

1. Start the kernel from BootMii. Press the power button to move the BootMii cursor forward, and the reset button to select.2. When you see the wallpaper, or hear the start up sound. Press 1 and 2 on the wiimote simultaneously, to connect it for use as your mouse. When connected the LEDS will stop flashing, and only the first will stay illuminated.3. Now select the "Virtual Keyboard" from the "Utilities" menu and you are ready to go. (When using the virtual keyboard first click the "Focus" button. Then click the text box or window, to which you want your input directed.)

Plugging in a USB keyboard and or mouse will increase usability exponentially.

Setting up WiFi:

Select "Configure WiFi" from the "System" menu and answer the questions. If you are using the Virtual Keyboard. Remember for your inputs to be registered. First click the "Focus" button on the keyboard. Then click on the whiite-ez-wifi-config tool window.

Important Connectivity Information:If you are actively using a wiimote as an input device. It may take a few moments for WiFi to connect after wiimote first syncs.

"wminput" the daemon that enables the wiimote to be used as a mouse, has a bug. If it is running and you don't have a wiimote synced WiFi may not work. If you are using a USB mouse; you can either connect a wiimote and let it sit eating batteries, or select "Kill Daemon" from "Wiimote" in the "System" menu.

Features:

Desktop:Instead of using a resource hogging desktop environment. EWL employs Joe's Window Manager, to provide an experience most users will find familiar. JWM features a start button in the corner of the task bar at the the bottom of the screen. It also has a pager to change between one of four virtual desktops.

Internet:Web browser/DilloDillo is a web browser built around the Fast Light Toolkit. Compared to other browsers it use a small amount of system resources. This means you can surf while using several other applications. Version 3.0.1 was compiled specifically for EWL.

Email/SylpheedThink Outlook.

IRC/LostIRCLostIRC is a fast and simple GUI IRC chat client.

Instant Messaging/BitlBeeBitlBee is a daemon that routes instant messaging protocols to an IRC client. Using BitlBee you can chat over almost any messaging service with LostIRC.

Torrents/bittornadoRight click a torrent file in emelFM2 file manager and select download. A download status window will automatically open. Your torrent will be downloaded to the folder containing the torrent file. Press "q" when your download is complete.

Office:Document Editor/LeafpadLeafpad is a very lightweight GUI editor that allows for some font selection.

Spread Sheet/fteapotfteapot is the FLTK GUI version of Table Editor and Planner. It is lightweight and has a large list of features. Including support for Lotus 1-2-3 WK1 file format. WK1 allows file transfer including formulas between fteapot and Excel. fteapot was built specifically for EWL.

Calculator/xcalcxclac is a full featured scientific calculator.

Graphics:Pdf Viewer/epdfviewepdfview is an easy to use lightweight PDF viewer.

Picture Viewer/xzgvxzgv is fast image viewer that supports most formats.

Image Editor/xpaintxpaint supports many image formats and has a lot of features. Think the little sister of GIMP or Photoshop.

Games:Freecell and Minesweeper.

Utilities:Virtual Keyboard/xvkbdLaunch xvkdb and you only need your wiimote.

Terminal/rxvt and xtermrxvt is very lightweight and is used as the default terminal. xterm uses more resources and is included to allow proper display of whiite-ez-wifi-config.

System:Configure WiFi/whiite-ez-wifi-configThis tool comes from debian-lenny-5.0+whiite-1.10.tar.bz2. Some small changes where made to it for EWL. Using this tool and the virtual keyboard you can configure WiFi with only a wiimote.

Wiimote:Kill and Start the mouse emulation daemon with a click.

DVD:mount, unmount and eject disk with a click.Due to the experimental nature of the DVD driver. The DVD to be mounted must be inserted when EWL is booted. Also once it is unmounted, you will need to reboot before another disk can be read.

USB Drives:Thanks to usbmount, drives using most file systems are automatically mounted on insertion at /media/usb0-7. Remember to unmount you USB drives before removing them to prevent data loss. There is a handy unmount button in the system menu.

Extendability:Because EWL is built on Debian Squeeze, adding new applications is a snap. You have access to the entire Debian Package Repository with apt-get.

First even after you connect a wiimote or kill the wminput daemon. It may take a few moments for the network to initialize. No more then 30 seconds in my experience. You can open the web browser and if it says DNS error on the bottom, just reload until it connects. Also if at the end of the wifi configuration tool it says network not enable dont worry. If you know the information you input was correct. Just restart and it should work.

If you stil have problems you can post a copy of your /etc/network/interfaces and I can try and help you. If you have run the wifi configuration tool multiple times there will be a lot of commented out stuff in that file that isnt important.

You can also try manually editing /etc/network/interface and replace "allow-hotplug wlan0" with "auto wlan0".

If you are new to linux. Open the terminal. Then type "su" and press enter. When prompted for a password type "easy" then press enter. Finally type "nano /etc/network/interfaces" then press enter. To exit nano press ctrl+x.

I also had a problem getting wireless lan to work: while running system-->configure wifi there is a fast black errorscreen after it asks to bring up the wifi and then it says "you have completed the configuration, but it doesn't appear to completely work". After looking into it more closely, the actual error during the fast black screen is

"SET failed on device wlan0 ; No such device"

After running iwconfig as root i found out that, like the error says, there is no wlan0 but there is a wlan1. So i ran

nano -c /root/whiite-ez-wifi-config

and changed line 33 from

IFACE=wlan0

to

IFACE=wlan1

then i ran the config tool again and it worked like a charm.

---

Also here is a tip to automatically boot linux (assuming bootmii is installed and the bootmii folder is on the same sd card as linux): to automatically start linux through bootmii, you can replace

{SD}:\bootmii\ppcboot.elf

with the kernel that works for you. For me, 576iPAL.elf works so i have moved that file to the bootmii folder and renamed it to ppcboot.elf (after backing up the original file ofcourse).

Dillo (and jwm and the other applications) were chosen for their low memory usage. At the moment, on a bare wii linux system, there is only 3 megabyte free ram available, the rest is swap space. So i dont think chrome/chromium will run very well. I did check to see if there actually is a chromium package available, but unfortunately it gives an error:

QuoteE: Package 'chromium-browser' has no installation candidate

and i dont have enough knowledge to build it from scratch.

-----

I am new to linux and linux on the wii, so i thought i'd share some findings:

Remote shell/consoleIf you have network connectivity, you can use another computer (for example your regular desktop/laptop) to control linux on your wii. In order to do this, you need to know which ip the wii has:

ifconfig wlan1

(ip is listed as "inet addr", in my case 192.168.1.100). Then you can use your favorite ssh client, for example putty to open up a connection to your wii so you can remotely control it. This helped me a great deal, because i can simply browse the web while working on the wii and i get to copy/paste commands instead of manually typing them.

Disk spaceSince this copy of linux is actually one file, space is limited. Out of the box it has 159M free (you can check this by running "df -h" (no quotes). To create some additional space, you can do several things - first, remove the packages you dont use. I ran these commands

This cleaned up about 40 MB. More space can be cleared by removing localized files that you don't use. This can be done by installing a package called localepurge, so i ran

apt-get install localepurge

It will ask you which locales you wish to keep, all other locales will be deleted. The first time, you will have to manually trigger the program, so i ran

localepurge

This cleaned up another 85 MB and if you install any other programs in the future, all other locales will be automatically be purged. Running df -h again revealed that i now have 278M free.

-----

I'm afraid that concludes my wii-linux adventure since i have not been able to turn my wii into a streaming video player as i had intended (Media player "xine" worked best for me, but it could only stream a smallband stream. Streams with a higher bitrate would result in massive framedrops, probably due to a lack of memory / cpu power)

There is actually more free physical memory, but it is allocated to currently running processes. So when you run "free" you see only 3MB unused. This RAM can be reallocated without much if any system strain. I'm not sure how to accurately calculate the actual currently unused RAM, but from personal experience I'd say it is more like 20MB.

If you want to stream videos why not just use WiiMC?

You can also create more disk space(100MB), by moving the swap image to the root of the SD card and reconfiguring "/etc/rc.local". But you will lose the use of 5MB of physical memory to keep "initrd" mounted.

Amazing job, congratsI've got two questions:1) I remember Whiite Lenny did not support external USB DVD drives, so I had to recopile the kernel in order to be able to use it, does this version support it? If not, would it be possible to recompile it in order to do so?2) If there's a swap partition on the SD card, will this version use it?Cheers

A swap partition on the SD card will not be recognized by default. EWL uses a swap file located in the users home directory. This can be reconfigured by editing /etc/rc.local. The FAT partition must be number 1.

All I did back then was recompile the kernel using the current config file I had and changing this line:CONFIG_BLK_DEV_SR=y

That did the trick and the USB DVD was fully operational from then on, of course I had the original kernel and Mike's patch to do it, If yours is a modified kernel (which I presume it is), then recompiling it with this option changed should work as well, I could give it try should you have the time to do it.

Cheers

Edit: I've tried the distro and the external DVD drive seems to work fine as is, but (there's always a but) I came across a different problem.

Here's what I did:

I logged out of JWM desktopI logged in as root userAnd then I performed:

apt-get update
apt-get upgrade
apt-get autoclean
reboot

The update process seemed ok with no errors displayed, but when booting the second time after the update I got an error message like:"X: user not authorized to run the X server"And never got to the JWM desktop again, so I ended up on the terminal.

Any clues as to what happened?Is it not possible to update this distro?

@mugre1975 I would assume that when you upgraded some of the sudo settings where reset. Try logging in as the user "wii" password "wii" not as root. Then run "xinit /usr/bin/jwm". Or if you are logged in as root. This is the command that is run during boot from /etc/rc.local (su - wii -c "xinit /usr/bin/jwm").

@Noe_misael You can try installing firefox or google chrome. Open terminal then login as root. Type "su" then press enter. The password is "easy". Once you are logged in as root, to install firefox "apt-get install iceweasel" or for chrome "apt-get install chromium-browser chromium-browser-l10n". Both of these browsers are resource intensive and for that reason where not included in the release.

Check this list of BitTorrent clients. [en.wikipedia.org] Then use apt-get to install the one you want.

I already overwritten the upgraded file with the original one, so this is what I'll do, I'll check /etc/rc.local for the command line you tell me that should be there before and after the upgrade. I'll perform again the upgrade as root and see whether that line is changed or not, if it is, I'll set it back the way it was and will try a reboot.If none of this works I'll try the upgrade as wii user.

One more thing, is there a way to expand the image file from within the Linux evironment?

Thanks for your help, I'll keep you posted on the results

Cheers

Edit:

OK here's what happened, somehow apt-get modified the allowed_users in /etc/X11/Xwrapper.config to "console"All I did was change it to "anybody" and JWM started again

So...Me again...I was interested in working with a bigger image file so this is what I did to resize it, I:* Formatted a pen drive to an ext2 filesystem* Copied linuxdsk.img onto it using a Ubuntu linux PC* Booted EWL on my Wii* Plugged in my pen drive and mount it (/media/usb)And from then on

(unmounted the images and deleted the directories created for the mount)

rm linuxdsk.img
mv linuxds2.img linuxdsk.img

(deleted old image file and renamed the new one to replace the old one)

chmod a+x linuxdsk.img
chmod 777 linuxdsk.img

(changed permissions)

Then I booted Wii Linux with my new image and using root user I did:

cd /var/lib/dpkg/updates
rm -r -f *
dpkg --configure -a

This procedure worked and I was able to boot with my new image file, but the X server permission problem appeared again, altogether with a "starting deferred execution scheduler: atd" error at startup.

I changed /etc/X11/Xwrapper.config modifying this line:

allowed_users=console

To

allowed_users=anybody

But that didn't work and I couldn't log onto JWM automatically, so diggin a little deeper I found out that on the original file, when I experienced this same problem, if I logged in as Wii user and run manually the command:

su - wii -c "xinit /usr/bin/jwm"

I got a password prompt, which allowed me to run it using "wii" password

Using the new image file, I did the exact same thing but the command didn't accept the password "wii"So I figured something in the process changed the superuser pass and I don't know how to fix it (I'm very new at linux), I also googled for the atd error and it seems to be related to a permission problem which let me to belive that it might be linked to my su password problem as well...

Any ideas will be much appreciated, I promise to post my modified file if I succeed!

Also if someone could tell me how to view a log of what it says on boot up. That is all the writing that flashes past the screen as the distro is loading, is this information stored in a file somewhere? And what tools, if any, exist to help diagnose wifi problems. And is there a way to directly connect a usb mobile broadband modem to the wii and configure it to connect to the net?

Problems:1. How to view log of boot up2. Tools to diagnose wifi3. Connect a usb mobile broadband dongle and cofigure it to connect to net

I've been looking for a modern Linux distro for the Wii so I found this after googling "Wii Linux 2012". Great work! I'm rather impressed, much better than the other distro's I've used. Keep it up!

The space limitation caused by the image is a big problem though, I was wondering if there's a way to have the system run off a real filesystem on an SD card instead of having it to load from an image.

Also, is there any easy way to get this to boot off a USB stick? My SD card is small in capacity lol