Ubuntu for eeeBox

=Summary= The Asus eeeBox is great because of its low power consumption, good performance, small form factor, and durability in rugged environments. We also love Ubuntu for its intuitive user interface, open source nature, and broad range of available software.

There's only one problem: out of the box, current versions of Ubuntu don't offer full support for eeeBox hardware. Most notably, the Realtek RT2860 802.11 wireless card handles network detection properly but has trouble connecting to WPA and WPA2 networks.

Fortunately, there's an easy fix. The guys at Array.org maintain Ubuntu kernel packages to supply the drivers necessary to use the Asus EeePC on the Ubuntu v8.04 (Hardy Heron), Ubuntu v8.10 (Intrepid Ibex), and Ubuntu v9.04 (Jaunty Jackalope) based distributions. Array.org even has its own Debian style APT repository to make installation quick and easy.

Here's how you make it happen:

=Installation=

Basically, this is a quick rehash of Array.org's own install guide.

Install Ubuntu 9.04 Desktop
It doesn't get any easier than this, Head over to ubuntu.com and download the ISO for Ubuntu 9.04 Desktop (you can try the Netbook Remix if you'd like, but we haven't tested it)

You'll need to burn the ISO to CD, configure the BIOS of your eeeBox to boot from CD, and boot from your Ubuntu installer CD.

After installing, you may want to set your eeeBox BIOS back to boot the hard drive first for security reasons.

Install the Array.org kernel packages
Once you've finished installing Ubuntu, start up the eeeBox and log in.

You'll notice that everything works great...almost. If you try to join a wireless network by typing in the WPA/WPA2 password, the network status indicator will just keep spinning. After a while, it will say it couldn't connect and ask you for the password again.

Open a terminal window by choosing applications -> accessories -> terminal

Issue the following two commands to add the array.org APT repository to your repository list

wget http://www.array.org/ubuntu/array-jaunty.list sudo mv -v array-jaunty.list /etc/apt/sources.list.d/ (you'll be asked for your password)

Then, you need to get and install array.org's APT repository key so you know the packages you're installing are genuine

wget http://www.array.org/ubuntu/array-apt-key.asc sudo apt-key add array-apt-key.asc

Finally, update your package lists

sudo apt-get update

Now you're ready to install the kernel packages

sudo apt-get install linux-netbook-eeepc

Note that, even though these packages were designed for the Asus eeePC (a laptop) it's completely acceptable to use them on your eeeBox since the hardware is almost identical.

You should also issue one last command

sudo apt-get remove linux-generic linux-image-generic linux-restricted-modules-generic

This removes the standard generic linux kernel from the list of packages to be automatically updated by APT, but will keep your most recent version of the generic kernel around in case you need it for testing.

According to Array.org:

It's useful to keep this last generic kernel around just incase you encounter an unexpected problem with the netbook kernel need an "official ubuntu" kernel to fall back to.

When the packages finish installing, you should be asked to reboot...if not, manually reboot your eeeBox.

Now, the kernel is installed, but grub doesn't yet know to use the new kernel as its default. When prompted during the boot process, press  to enter the GRUB boot menu, and choose the netbook-eeepc option from the menu. In the next step, we'll fix the GRUB default.

Once Ubuntu finishes booting, connect to your wireless network. Everything should be working!

Edit your GRUB configuration
(Here is a helpful tutorial on this if you'd like more information)

Open a terminal again and type

sudo cp /boot/grub/menu.lst /boot/grub/menu.old (this just backs up this important file in case you make mistakes) sudo nano /boot/grub/menu.lst

This is the file that tells grub which kernel to boot.

Scroll down until you find the lines that begin with title, Each title line defines one menu option on the GRUB menu. The first title line is number 0. Count down until you find the menu option for netbook-eeepc (Not netbook-eeepc (recovery mode)). This is the one you want. In my case, it was the third title line, which made it menu choice 2.

Scroll back up to the top of the menu.lst file and find the line that begins with the word default. Change it to read

default

(Where is the number of the netbook-eeepc kernel in the grub menu)

Save the file by pressing  and then exit by pressing 

Reboot

You're done! Wireless networking should be working.

=Untested Alternate Ubuntu / eeeBox Packages=

In the course of our search for a quick eeeBox Ubuntu fix, we also came across the following other options. We don't have any experience with them yet, but we'd love to hear from you if you have an opinion!


 * easyPeasy
 * eeeBuntu
 * Crunch-Bang Linux-eeePC Edition