Ubuntu 8.04 on the Asus EEE PC

A couple of weeks ago, a faculty member brought her Asus EEE PC (pink, as she often pointed out) to our Help Desk, asking that we connect it to our university’s wireless network connection. I fiddled with it for a few minutes before coming to the conclusion that, quite simply, making it work on our wireless wasn’t worth the time it would take right then. The version of Xandros that ships on the EEE is very stripped down, to the extent that I couldn’t find a tool with which to acquire and install software. Not only could I not get the Madwifi drivers I’d need to make the Atheros card handle the level of security we require, but even if I could, there were no tools to compile the drivers.

There were two solutions open to me. The first was to get the drivers and recompile the kernel with them (after somehow getting the kernel build files onto the EEE), which would probably have taken 2-4 hours, all just to get wifi to work. The second option was to install a different distribution of Linux on the device. This solution might take equally long, but it was more guaranteed, might take less time, and would probably only have to be done this once. For future installations, a procedure would be codified and setup would therefore take a lot less time.

Thus, we begin. The Asus EEE doesn’t have a CD-ROM drive, so we could either do a netboot installation, pulling the ISO from a network drive, or we could do the installation off a USB jumpdrive. The EEE’s BIOS handles booting from removable devices, so I decided to give that a go.

Crucial Stats:

Asus EEE PC 4G (4gb SSD) with webcam
Lexar 1gb JumpDrive
Ubuntu 8.04 Desktop Edition for x86, 32-bit edition
Linux Kernel: 2.6.24

Instructions originally from the Ubuntu Community Wiki:

Converting an Ubuntu ISO to a Jumpdrive

The first key to this process is having a computer with the version of Ubuntu on it that you want to install to your target machine. This can be particularly troublesome if you are beginning your first ever installation of Linux on the EEE, and therefore don’t have another machine to use as your base. If that’s the case, my sympathies; I don’t have a solution for you. You can try to download the image to your EEE and do this process from there, but it probably won’t work. I initially attempted the ISO-to-Stick process from OpenSUSE and it failed. The instructions recommend using Ubuntu if you want to turn your jumpdrive into an installation of Ubuntu, so that’s what I recommend as well.

I was intending to put Ubuntu 8.04 on my laptop anyways, so I downloaded the ISO last Thursday and burned it, then installed the operating system on my HP zv5000. Now that I had a working install of Ubuntu, I could proceed to make my jumpdrive an installation device.

The first step is to install syslinux

sudo aptitude install syslinux

Insert the USB device you want to use for the installer. A few seconds after plugging in the USB device run the dmesg command or sudo fdisk -l (I prefer this method, myself) to find device it was assigned. The rest of the instructions refer to /dev/sdX1, remember to replace X with your device location. This changes from distro to distro, so don’t assume that your device is named the same as it has been in the past.

Preparing the Flash Drive using isotostick.sh

The easiest way, which also works with the Desktop installer, is to use the isotostick.sh script from http://www.startx.ro/sugar/. To make things as easy as possible, place the ISO and the script in the same folder. Use the following commands to download the script, make it executable, and run the script.

wget http://www.startx.ro/sugar/isotostick.sh

chmod u+x isotostick.sh

sudo ./isotostick.sh ubuntu-8.04-desktop-i386.iso  /dev/sdX1

Be sure to replace /dev/sdX1 with the partition name of your USB stick found in the previous section. You will see some “operation not permitted” errors when the script tries to copy the symlinks for /dists/stable and /dists/unstable. This is because fat16 file systems do not handle symlinks, but it will not cause any problems. This process will take some time and it won’t look like anything is happening, but be patient. If you desire feedback, open up Nautilus and browse to your removable device. You can refresh the view to see how much free space is left, which should shrink rapidly as the script runs.

Now you can boot from the USB stick and install Ubuntu just like if you had booted from the Desktop CD. I prefer to partition the hard drive to have /home on a separate partition, and chose to do so in this case. With only a 4gb drive, you don’t have a lot to work with, so I looked at my laptop to see how it had turned out. The root files had used approximately 2.9gb of space, so I gave 3.3gb to root and 600mb to /home. This left about 400mb for the installation of programs and about 90mb of swap space. That’s less swap then is recommended, but with 512mb of RAM, I figured it’d be OK. The device has reportedly been working fine for the last week and, when doing nothing more than checking email or running Skype, I think it will continue to work fine.

Instructions originally from the EEEUser Wiki:

Ethernet and Wifi

While it doesn’t always occur, you may notice that your Ethernet connection does not work on first boot. I’m not sure why this is, but the solution is simple: unplug the device, turn the device off, remove the battery for about thirty seconds, plug the battery back in, and turn the device back on. I imagine this resets something in the BIOS (maybe there’s not a separate BIOS battery?) that was keyed specifically to Xandros, and after resetting it works in a more default manner. Probably how it should have to begin with.

For wireless internet, we still have to install the Madwifi drivers, it’s just a lot easier than with Xandros. Enter the following commands in order, waiting for each step to finish before continuing (of course):

sudo apt-get install build-essential
wget 'http://snapshots.madwifi.org/special/madwifi-ng-r2756+ar5007.tar.gz'
tar zxvf madwifi-ng-r2756+ar5007.tar.gz
cd madwifi-ng-r2756+ar5007
make clean
sudo make install

Your wifi should now work as advertised, even with more advanced forms of PEAP authentication. Be aware that, due to the low power spec of the EEE, its wifi antenna is not very strong. Using the same operating system, sitting side-by-side, I had my laptop and the EEE. My laptop had a connection of 90% to our wireless while the EEE was hovering between 40% and 55%. Not twenty yards away, it was barely 35%.

Built-in Camera

The built-in camera (in the versions of the EEE that have one) works right out of the box with Ubuntu. The strange thing is that, despite the fact that Ubuntu 8.04 has the drivers necessary for the camera, it is not turned on in BIOS. At some point, slip into BIOS (I think it’s F12, but my memory’s hazy on that one; just keep an eye on the splash screen when you reboot sometime) and turn it on. It’s easy to find and easy to change. After that, you can test the camera by installing Cheese and playing around with it.

I was pretty impressed with this little camera. Good picture quality, and it picked up motion pretty well. If you move too fast, though, it overwhelms the tiny processor (900mhz usually) in the machine, so be careful or you’ll lock it into processing for a few seconds before it can catch up. Ubuntu’s stable enough that we never crashed it with the processing, but we did have it freeze a few times while it churned away at drawing the images.


Ubuntu 8.04 runs very well out of the box on the EEE PC, but you will often run into window-size issues. Some of the menus and windows don’t scale down well, and you’ll have them spanning down below what the EEE displays. For instance, when we setup the WPA2Enterprise connection for our wireless, the button to connect was way below the bottom of the screen and only accessible via hotkey (alt+o).

However, the EEE works surprisingly well when connected to peripheral devices, and I used a USB keyboard, mouse, and a VGA monitor on it with great success. With a 19″ LCD monitor, the EEE was able to push a resolution of 1280×1024. My memory’s hazy on the matter, but I seem to recall that the advanced graphics did not work on it (like wobbly windows or cube turning) but other, standard operations ran just fine. OpenOffice.org was usable in Web view (print view extended the document off the screen to the right), Firefox was perfect, and Skype fit on the screen without a problem.

The faculty member reported getting right over three hours of battery life with Ubuntu 8.04 installed.

It’s not a device I would likely buy due to the tiny keyboard (I use my laptop mostly for writing), but it’s certainly handy, sleek, and can get the job done. And yes, it does run Linux.

Ubuntu For The Soul

Thursday was fantastic, and not just because I got home from work half an hour early (especially since I only came home early due to working through lunch). The new release of Ubuntu, code named Hardy Heron and version 8.04 of this Linux distribution, was released yesterday. It is an LTS (long term support) version of Ubuntu, which means it is very stable and full-featured, and I got to spend a lot of time playing with it yesterday.

I hope to have a couple of write-ups on the operating system next week. For one, I installed Ubuntu on an Asus EEE PC, which necessitated making my jumpdrive into bootable installation media. The second is that I installed it on my laptop, and I think I’ve got it working well enough (which is to say, it works perfectly!) to take with us on Sunday morning when April and I go somewhere to write before church.

I want to write a general review of the OS, so I’ll put that on my tech blog next week. In the meantime, I have a ton of fiction work to do over the weekend, and I’m really looking forward to diving into that on Saturday. I need to acquire the GURPS books tomorrow so I can reference them regularly.

Giddy is an apt word for me right now. Today was challenging and fun, and I got to help a teacher who will be showing open source software to her education students in the fall using the machine I set up. I feel like we’re moving in the right direction.

Week seems long! Sun rises in the east! News at 9!

Two nights ago, I had a dream that I slept all the way through Thursday and that it was Friday, blessed Friday, when I awoke. When I told April, she promptly pointed out that it was Wednesday.

And yet I still went through the entire day thinking it was Thursday and that today would be Friday and I would be done for the week. But nooo, because “reality” has to go in “chronological, linear time patterns.” I believe this is due to its complete and utter hatred for one Matthew Stublefield.

My week hasn’t been bad, by any means. I’m just tired and anxious for the weekend. I have a ton of fiction work I want to do on Saturday and I’m really excited about it. When I redesigned my website, I got rid of my wiki because, as cool and full-featured as Tikiwiki was, it still wasn’t simple/nice enough to just throw my thoughts at. It took too much formatting and work to really be comfortable just sitting down and mind-dumping into it. Maybe I’ll find something else before Saturday that would suffice better.

In super-positive news, the latest version of Ubuntu (and this one a Long-Term-Service release, no less) drops today o/ I’m stoked, and I’m also excited about a faculty member who is bringing her EEE PC by for me to try and get Ubuntu onto it. That should be a lot of fun.