Tuesday, February 24, 2009

Re-installing EEEbuntu (2.0) on an eeePC

Due to some limitations of the preinstalled Xandros, I'm switching to EEEbuntu. I hope to get this ubuntu-based distribution boot faster with some tweaking. In the meanwhile I'm also keeping Xandros, because I like its 15 sec. boot time. My 900 model has two SSDs, 4GB (faster) and 16GB (slower); so I'm planning to boot both Xandros and EEEbuntu from the first small but faster device: I'll have to split the EEEbuntu installation across two partitions on two different devices.
  1. get EEEbuntu Base;
  2. install in a partition on the 16GB one (let's say /dev/sdb2);
  3. reboot (boot time 46 sec., from grub menu to welcome sound with autologin);
  4. take a snapshot of /dev/sdb2 with partimage (record 1);
  5. shrink the Xandros partition to make room for an EEEbuntu partition (let's say /dev/sda3);
  6. move everything except /usr from /dev/sdb2 to /dev/sda3;
  7. on /dev/sdb2, move everything in /usr to the parent directory (/);
  8. on /dev/sda3, make a new /usr folder;
  9. on /dev/sda3, edit /etc/fstab to mount /dev/sdb2 to /usr;
  10. fix grub boot instructions accordingly (grub root is now "(hd0,2)", kernel option "root=/dev/sda3");
  11. reboot (boot time 40 sec.);
  12. if ok, take a snapshot of /dev/sda3 and /dev/sdb2 with partimage (record 2);
  13. install a faster kernel (eeepc-lean) from array.org;
  14. fix grub boot instructions accordingly;
  15. reboot (boot time 38 sec.);
  16. fix some hardware (Fn-) keys issues (EEEbuntu forum #1) with eee-control installed from synaptic;
  17. run eee-control tray applet at startup (System -> Control center -> Sessions -> Add, fill with /usr/bin/eee-control-tray);
  18. install TuxOnIce (my way);
  19. improve boot time by disabling some services (Knowledge76 article):
    als-utils
    anacron
    apmd
    apparmor
    apport
    atd
    bluetooth
    bootlogd
    cron
    dns-clean
    pcmciautils
    ppp-dns
    rmnologin
    rsync
    stop-bootlogd
    stop-bootlogd-single
    sysklogd
    ufw
    usplash
  20. remove cron, logrotate, sysklogd (Debian WiKi):
    # apt-get remove cron logrotate sysklogd
  21. remove "splash" option from grub boot instructions (usplash service is removed);
  22. add "rootfstype=ext2" to grub boot instructions (avoid kernel very little guessing time, Debian Italia post);
  23. add "noresume" options to grub boot instructions (if hibernation disabled, avoid kernel looking for resume image Debian Italia post);
  24. remove some virtual consoles (tty7 is for X and tty1 is for text, same Knowledge76 article):
    # rm /etc/event.d/tty2
    ..
    # rm /etc/event.d/tty6
  25. replace the bash shell with the faster (for scripts) dash shell (Ubuntu wiki):
    # apt-get install dash
    # dpkg-reconfigure dash
  26. reorder boot scripts with right dependencies (Debian User forum post):
    # apt-get install insserv
    # dpkg-reconfigure insserv
  27. reboot (boot time 35 sec.);
  28. remove create_floppy_devices, pcmcia-check-broken-cis, pcmcia-socket-startup from /lib/udev;
  29. fix hwclock time out (Debian WiKi);
  30. improve performance by setting "noatime" option (instead of "relatime" or "atime") in fstab entries (same Debian User forum post);
  31. boot once with "profile" option in grub entry, to update the profile for "readahead";
  32. reboot (boot time 34 sec.);
  33. install mc and mcedit;
  34. set mcedit as default editor for mc, by setting "use internal editor" under Option ->Configuration of mc (Ubuntu launchpad);
  35. take a snapshot of /dev/sda3 (record 3);
  36. no real benefit from "readahead", remove it by disabling some services (same Knowledge76 article):
    readahead
    readahead-desktop
    stop-readahead
  37. re-run insserv;
  38. reboot (boot time 33 sec.);
  39. install LXDE:
    # apt-get install lxde
  40. make LXDE the default desktop manager instead of GNOME (from login menu, after hitting ctrl-alt-bkspc);
  41. reboot (boot time 31 sec.);
  42. prepend "exit" to /etc/init.d/hwclock.sh and to /etc/init.d/hwclockfirst.sh (the scripts are called but nothing is done);
  43. install compiz (Ubuntu Help);
  44. install avant-window-navigator (AWN);
  45. fix compiz and AWN startup (my way);
  46. set AWN bar position through gconf-editor (this post);
  47. reboot (boot time sec. 33);
  48. install xcompmgr and make it autostart;
  49. install cairo-dock and make it autostart;
  50. take a snapshot of /dev/sda3 and /dev/sdb2 with partimage (record 4);
The EEEbuntu experience is not completely satifactory: wireless networking troubles, external monitor resolution troubles, slow boot.. I'm leaving..
[..]
I'm trying now with version 3.0.