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
make
sudo make install
reboot

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.

Conclusion

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.

4 thoughts on “Ubuntu 8.04 on the Asus EEE PC

  1. “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%.”

    What wireless chipset does your laptop have? I noticed the same thing regarding relative signal strength. My other laptop has an intel 2200. I met someone recently that was having very similar signal problems with a larger laptop who had an atheros chipset, and resolved the issue by using ndiswrapper with the windows driver. This lead me to believe that there may be some kind of power save feature that is defaults enabled on atheros chips. I am hoping to find a setting I could change but if there is not one I will try ndiswrapper. I really want to keep the native driver.

  2. Re: Allen

    The EEE PC belonged to a faculty member at the university where I work, so I don’t have it in front of me (and haven’t for several months now), but I believe it was the Atheros chipset. I used the MadWiFi drivers, but perhaps you’re right and ndiswrapper would have resolved the issue…

    I don’t have a EEE to test with, or I would give it a go and see what happens. If you do try ndiswrapper, please let me know how that turns out. I didn’t see any power saving features for the networking in the BIOS, so I’d be curious whether using ndiswrapper boosts the signal by giving the antenna more power.

    Thanks for stopping by!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s