Reviving an EEE PC 900A with lubuntu 10.10

Some years ago Asus invented a new class of computers, the netbooks. I bought one of the first models, an EEE PC 701, and was fascinated by its portability and use of Linux as an light weight operating system. Slow performance and the 7 inch screen with its low resolution limited its usability so I switched to one of its Linux successors, the EEE 900A, that provided a 9 inch screen with a 1024*600 resolution and an Intel Atom processor.

I took my 900A with me on every vacation since but always experimented with alternative operating systems. The original Xandros Linux was soon replaced by Ubuntu Jaunty Netbook Remix and it worked quite good until now. Unfortunately Jaunty comes to the end of its life end of October and a replacement was needed. The natural successor would be Maverick Meerkat (10.10) and so I tested the Netbook Edition but discovered that it was not very snappy on this early generation netbook. The new Unity launcher looks great but was a little slow and I decided that I do not really need the eye candy.

Next I tried lubunu 10.10 and I was immediately impressed. It was very quick and snappy and so I installed it.

Here are my impressions of what worked, where I had to tweak something and where I encountered problems:

Great:

  • Very fast boot and login times.
  • Very snappy reactions and quick program start times (Chromium starts in under 2 seconds).
  • Even with Chromium running, only a 220 MB memory footprint on a 1 GB machine.
  • An optional netbook launcher called lxlauncher. It looks a bit like the original Xandros netbook launcher of the original EEE PCs.

Issues solved by some tweaking:

  • splash screen during boot
  • adding powertop recommendations to /etc/rc.local
  • Power Off key added to ~/.config/openbox/lubuntu-rc.xml

Issues:

  • I can switch off WiFi but not on again. A reboot seems to be required.
  • The volume Fn-keys on the keyboard work but the LXDE volume applet does not show the volume change like I was used to under Gnome.

Overall, I must say, lubuntu is ideal for underpowered hardware.

Back to top

Move a Linux system into a virtual machine

I wanted to create a copy of my production system in a virtual machine to have a playground for experimenting. For this I cloned my system partition and put it into a virtual environment.

These are the steps:

For the cloning I used the Clonezilla live-CD (http://clonezilla.org/). I used the beginner mode to create an image of my source partition onto an USB drive.

On the host machine, I started Virtualbox to create a virtual machine with a disk size that is a little bigger than the size of the source partition. I created a disk of fixed size.

Now I had to trick clonezilla into restoring the image file to another partition number. Clonzilla does not support this. My source partition was sda6 and my destination in the virtual machine was sda1. This link form the Clonzilla FAQ shows how to do it.

After that, I booted the virtual machine with the CD image of the Clonezilla live-CD, plugged in my external USB drive and used the beginner mode again to restore the image to the empty partition inside the virtual machine.

Before rebooting the new system inside the virtual machine, I had to fix some details. For this I switched to the command shell of the Clonezilla system.

  • /etc/fstab - I had to remove the UUIDs for the drives and had refer to /dev/sdaX instead.
  • /etc/hostname - I changed the hostname of the virtual machine.

To get the new system inside the virtual machine to boot, I had to fix grub. The easiest way for me was to use the Super Grub2 Disk (http://www.supergrubdisk.org/). Set as an CD image in the virtual machine, it will boot into the installed system and allowed me to fix GRUB2 by running “sudo update-grub” in a terminal.

After that, I removed the CD image and booted into the virtual system and it worked immediately. I did not even have to boot into a safe graphics mode. It simply worked.

If you are using a PAE kernel, make sure to enable this feature inside your virtual machine.

Back to top

Improve GNOME login speed

The boot speed from GRUB to the GDM login screen is quite good these days. However the time from login screen to a working desktop can take a longer time.

Here is what can be done to improve login speed.

Go to System > Preferences > Startup Applications and uncheck all programes you do not need. If your computer does not have Bluetooth, deactivate it here. Same with personal file sharing, vino VNC server or the renaming of standard folders.

If you’ve added some extra application like a screenlet and you do not need it to be available immediately, you can delay its start up. For this, go to the hidden directory

.config/autostart/

in your home folder and look at the files with suffix desktop with a text editor. You can add a start delay of i.e. 20 seconds by adding this line to the desktop file:

X-GNOME-Autostart-Delay=20

After some experimenting you can find out a suitable value for your situation.

On my machine I replaced all individual calls to screenlets in autostart by one script that calls the screenlets sequentially. Here is my example:

#!/bin/sh
# start daemon
/usr/share/screenlets-manager/screenlets-daemon.py &
sleep 3
# battery
python -u /usr/share/screenlets/ACPIBattery/ACPIBatteryScreenlet.py &
sleep 3
# weather
python -u /usr/share/screenlets/ClearWeather/ClearWeatherScreenlet.py &
sleep 3
# feed reader
python -u /usr/share/screenlets/FeedReader/FeedReaderScreenlet.py &

The corresponding desktop file has a delay of 20 seconds. So my desktop starts quicker and I can do some things before the screenlets are getting started.

Back to top

Network Manager: system wide UMTS setup

I just had to figure out how to use an UMTS USB stick with Lucid. After installing the right packages it worked without problems.

sudo aptitude install usb-modeswitch-data

The only issue I found was that I could not create a permanent mobile network configuration with network manager. Save did not work. I had to configure it with the mobile configuration wizard every time the stick was put in. So I figured out that a system wide permanent configuration can be created by using this command:

gksudo nm-connection-editor

I also had to select that the configuration is valid for all users.
For the technically interested: the configuration is stored in folder

/etc/NetworkManager/system-connections
Back to top

Avoid preload under Lucid

Since Ubuntu 8.04 one of the first packages I have installed after a fresh system install was preload. So I did this also for Lucid but discovered that it does not work well together with ureadahead.

preload is a daemon that fetches libraries and binaries into memory based on statistics of your application usage. Often used applications will start up faster.

ureadahead
will read all files that are used during boot into memory so that the different start up scripts and services do not need to be loaded individually. It will improve the boot performance.

The combination of both does not work well. Boot time did increase significantly and even worse: sometimes my screenlets did not start up after login.

After removing preload everything was good again: quick boot times and reliable start of my start up applications.

Back to top