Monday, August 25, 2008

Tweaking eeebuntu

I've been running eeebuntu on my EeePC for a week now & I've done quite a few things to improve the overall experience.
Here's a quick list of things (that I can remember) in no particular order:
- Disable unused services. User services-admin to weed out all the pointless services such as: anacron, atd, apport, lm-sensors, avahi-daemon & cupsys.

- Disable unused startup items. Under System -> Preferences -> Sessions, turn off, Conduit, Evolution Alarm Notifier, Print Queue Applet, Update Notifier & Visual Assistance.

- Install much needed games. Get yourself zsnes, armagetron, planet-penguin racer, crack-attack, circus, pinball & wormux.

- Run sudo apt-get clean after every update.

- Remove unnecessary panel applets. cpu meter, temp meter & window picker (window list is more practical)

- Install lock-keys-applet to display the status of numlock, capslock & scrolllock.

- Fix the Fn+ key volume control. Goto System -> Preferences -> Keyboard Shortcuts. Press Backspace to remove the shortcut for Volume up, down & mute. This leaves only asusosd running & supplying only 1 set of controls. The volume being adjusted is Front, so set gnome mixer's primary volume to it.

- Setup some ramdisks to reduce disk writes. Add these entries in /etc/fstab
tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0

- To reduce some more writes. Add in the mount options for / in fstab "noatime, nodiratime, commit=30". Like this:
UUID=xxxxxxx-xxxxx-xxx-xxxxxx-xxxxxxxxxxx / ext3 noatime,nodiratime,commit=30,errors=remount-ro 0 1

You'll need to do the same in /boot/grub/menu.lst.
On the line "defoptions=quiet splash" line add "rootflags=noatime,nodiratime,commit=30" Like this:
defoptions=quiet splash rootflags=noatime,nodiratime,commit=30

Then run $sudo update-grub.

- If you don't mind losing all your browser cache every boot, you can do this put all your disk cache in ramdisk:
Open firefox
Goto about:config
Look for "browser.cache.disk.parent_directory"
If it's not there, create it (type string) & set it to "/tmp"

- Optimize the boot readahead cache by reprofiling. Here's how to do it:
Setup the system in exactly the way you want it before doing this.
Press Esc at grub
Edit the kernel line & insert "profile" at end. (without quotes of course)
Press b to boot
Let the system boot normally to the desktop. (It will take much longer)
Once completely booted, do a reboot. (The next boot will be quicker than ever)

Next I'll be experimenting with cpu frequency scaling to improve battery life. I'm still apprehensive about this since this machine is slow as it is. But I'll test it out & we'll see.

Thursday, August 21, 2008

eeebuntu Netbook Remix on the EeePC 701

A few days ago I decided to install eeebuntu permanently into the SSD of my EeePC, I've been running it live off a USB stick & increasingly found it far superior & far more flexible then the Xandros that came with the system. As u can see, I'm cautious about this step as I want to make sure that eeebuntu could effectively replace the Xandros. In this respect, I think the eeebuntu folks did a really great job.

As I increasingly discovered, Xandros did not afford me much flexibility & was in fact not performing well at all on my modest EeePC 701 4G. In operation, eeebuntu was much more responsive due to (I suspect) it's realtime kernel. The drawback though is obviously the boot speed, which I timed at about 1min 9seconds, this was far longer than the 34 seconds it took Xandros to boot. But compromises had to be made if you wanted a modern OS. eeebuntu is based on Ubuntu Hardy 8.04.1.

I'm going to try to detail my experience installing eeebuntu 1.0 NBR (Netbook Remix):
(Check out eeebuntu's Homepage)
- Installation went well without a hitch.
- Post Install, run the script in /eeesupport/scripts
- Sound should work fine now, but be careful when adjusting the volume with the Fn+hotkeys, for some reason it adjusts both Master & Front volumes. Adjusting it with the normal volume control works fine. For this I found that by setting the master channel to PCM (instead of Master) helped the volume control become smoother (still doesn't help the hotkeys issue though). In the volume options, I recommend to only enable these items: Headphone, PCM, Front, Microphone & Capture. Set Master & Front to the max & control all volume using only PCM.
- Due to a bug in the installer, the custom repositories used are not in the installed system. This is easy to remedy, simply boot the LiveUSB again, copy out the last 3 entries from /etc/apt/sources.list & put them into the installed system.
- The default ume-launcher has some issues of overlapping text on the 701. After updating to the new ume-launcher, the issue is resolved.
- SD cards will not mount because the system thinks they are optical drives. This is solved by commenting out the /dev/cdrom0 line in /etc/fstab
- I use zsnes to get my doses of old console games. zsnes will start with no sound at first, this is resolved by setting the sound sampling rate to 48000Hz & restarting zsnes with the parameters $ zsnes -ad sdl

Next time, I'll talk about optimizing the OS to boot faster, run faster & write less to the SSD.