Press "Enter" to skip to content

Reinvigorating an Asus EEE

The Asus EEE PC was one of the first products into the ‘Netbook’ market when it was released back in December of 2007. Its small form-factor, low weight and solid state drive were a fantastic advancement in mobile computing at a time when smart-phones were still lacking in speed, applications and stability.

At this point, the first generation of the iPhone had only just been released and Android was still some twelve-months from birth. Asus were initially praised by the free software community for producing a mass-market device running on GNU/Linux (based on Xandros and KDE) but this turned slightly sour when they appeared to give into pressure – enabled by hardware upgrades better able to cope with it – and began to sell machines pre-loaded with Windows XP.

I purchased the EEE 701 (7in display, 512mb RAM, 4gb SSD, Wifi) a week after release and found the functionality and pricing perfect for my requirements. With the addition of a 3G dongle I had a fantastic device which I could get online with anywhere.

A great hardware-hacking community sprung up around the EEEs and various alternate distributions appeared, with names such as EEEbuntu and CrunchEEE. These were designed to fill gaps in the hardware support of the main distros and also included tweaks to cope with the small size of the screen on the 701 in particular.

I played around with various distributions and used my device regularly – particularly while travelling – until around 2009. After that the distributions started to fall behind with their updates, and several distros made efforts to natively support the EEE hardware in their standard install CDs. Though sadly the 701 wasn’t able to cope with many of these. The EEE line still exists, but they seemed to gradually morph into standard small Windows XP/7 laptops, and much of the novelty of the original device was lost.

Around a month ago I rediscovered by EEE 701 whilst tidying up and decided to see how far I could get in updating this to become a modern, portable GNU/Linux netbook. Turning the machine on – which was running CrunchEEE, based on Ubuntu 8.04 – it became apparent that I would need to start from scratch and do a little research.

I discovered the Debian EEE Project, who have done some excellent work in getting native support for all the EEE devices into the Debian Wheezy distribution and removing the custom installer and other specialised software which was formerly required to get Debian up and running on the Asus device.

Install

A weakness – or perhaps strength – of the EEE was that it was one of the first machines to dare to exclude any kind of optical drive (I imagine the designers thought they’d laid the ground for the MacBook Air as far as that is concerned) so installation of any alternative OS requires either an external CD/DVD drive or a USB/SD card. You’ll also need to check hardware support for each EEE on the Wiki.

I used a 4Gb SD card for my Debian install, but anything above 1gb should suffice. Following the brief guide on the Debian EEE project I downloaded the netinst installation CD from the website and wrote this to my SD card using unetbootin (which is available for Win/Linux/Mac).

Once the ISO has been written to a device, you’ll now need to plug this into your EEE and boot from it, which will usually require you to change the BIOS settings to set this device to boot first. Hit F2 at boot to enter the BIOS and configure the boot order.

Once you’re successfully booting from the SD/USB select the default install, which is graphical. On the 701 I encountered a video error at this point. This can be easily overcome by selecting a different video mode from the list which appears. I used the SVGA option, which I believe was number 7.

The standard Debian install now works perfectly on the EEE, and it should prompt you to set-up your wireless or other connection, which Debian will use to download packages. Install to your own preferences for encryption, partitions, etc. I selected to use the entire internal SSD for the install – which is probably wise, as space is limited – and I also selected to encrypt the disk. This may cause some small degradation in performance of the machine, but it makes me more comfortable knowing that should I leave the device on a train, my data is secure.

At the ‘tasks’ menu, leave this list at the defaults. Ensure you do not install the “desktop”, as tempting as this may sound. As the manual makes clear, the default desktop install is Gnome, which requires 4.3gb of space to install (overwhelming the 4gb SSD in the 701). We can install a more appropriate graphical desktop environment later on, but we will need to do this manually.

On boot, login as the new user you created during installation, then run “su” to start a super-user session. The first thing you’ll notice is that if you set up a wireless network connection during the installation, this now no longer exists. I’m unsure whether this is deliberate, or whether it is a known bug, but either way you’ll need to set this up again (or connect via ethernet) before you can download and install a friendly desktop environment from the repositories.

Open “/etc/network/interfaces” in vi and update this to include the relevant network information (or see this useful guide from the Raspberry Pi forums). Replace the “wpa-ssid” and “wpa-psk” values with the appropriate ones for your own wireless network.

auto lo
iface lo inet loopback
 iface eth0 inet dhcp
allow-hotplug wlan0
 auto wlan0
iface wlan0 inet dhcp
 wpa-ssid "ssid"
 wpa-psk "password"

Run “apt-get update” which should now connect to the repositories successfully. Install XFCE using the information here, or running the command below:

# apt-get install xfce4 xfce4-goodies

In order to test xfce, login as your user, then run the command “startxfce4”. This should start the user-friendly XFCE environment.

From the XFCE menus, open up a terminal session and type “su”. Now install a lightweight browser – using the apt-get install [package] command – such as midori, along with any other apps you require urgently. You’ll now want to configure your account as a sudo user, so you’re not having to “su” into the root account for everyday use. From within a “su” session, run:

# apt-get install sudo
# usermod -a -G sudo jonathan
# visudo

Add the following line, after the similar-looking line for the root user, to give your account sudo powers:

jonathan ALL=(ALL) ALL

Install a friendly graphical Wifi manager. I would recommend wicd:

# sudo apt-get install network-manager wicd

I would also suggest installing a display manager at this point, which will provide a nice graphical login screen, and auto-start the desktop environment at login:

# sudo apt-get install lightdm
# sudo dpkg-reconfigure lightdm

Run the settings application “xfce4-settings” and set the value of the xfce-session option “always display” to “FALSE”. This removes the annoying prompt to choose an XFCE session each time you login. It also enables the restart/shutdown/hibernate buttons from within the desktop environment itself.

All done…

You should now have a working Debian laptop, with full hardware support and around 1gb of free space on the SSD. This should hopefully cope with any apps you’re planning to install, but it’s worth sticking with smaller apps like Midori and AbiWord, rather than more bulky ones such as LibreOffice and Firefox, which might also strain the CPU in the 701.

I’m now taking my EEE to conferences – where it tends to garner some nostalgic comments – and it is proving useful for tasks where I need a full physical keyboard, where a smartphone will not suffice. I’ve always been enthusiastic about re-using old hardware from an environmental, political and financial perspective, so I’d be interested if any of you have done anything similar with devices which are perhaps considered past their prime by some cynics. You and I know better though, of course!

One Comment

  1. nice article and nice sentiments. I also have revived such a machine which i intend to use as a webcam server.

    cheers

Leave a Reply

Your email address will not be published. Required fields are marked *