kubuntu on acer aspire one

the acer aspire one is one of those new tiny laptops with an SSD disk drive, i got the one with linpus linux which of course is useless for someone who does "things" with his/her computer.. . so i decided to install linux.. :] instead of putting debian stable as i usually do i decided to go crazy and put .. .. . Kubuntu.. . yes i like KDE, and so voilà, most things here should work with most distributions anyways.

make a bootable usb drive

for this you will need:

  • a pc with linux
  • a usb stick (at least 1GB)
  • access to the interweb

download the kubuntu.iso image by "clicking" http://www.kubuntu.org/getkubuntu/download

iso2usb.sh

now get this script from: http://jak-linux.org/tmp/iso2usb.sh and use it to do all the dirty work.. . we will also need to install syslinux so, as root type

IMPORTANT: in this case /dev/sda is the usb stick, if it's sdb or sdc, adjust accordingly

apt-get install syslinux mbr wget http://jak-linux.org/tmp/iso2usb.sh sh iso2usb.sh kubuntu-xxx.iso sda

installing kubuntu

press F12 during the boot of the acer to boot from the usb key. type "live" or something to commence the install process.. . then you can go through the usual process of picking your location/language/keyboard_layout/etc etc.. . the interesting part comes up at the formatting step.. a few hints:

  • chose "ext2", i heard there would be less disk blogging (journaling) going on
  • for swap.. if you feel adventurous, don't use swap, otherwise do what you gotta do

NOTE about the "disk": the disk has good reading performance, but writing. . .... imagine the speed at which you could manually be writing down your data to your disk with a ball point pen !! so the goal here is to reduce as much writing as possible (i found out i have the "slow SSD" one, don't know if there are faster ones.. according to this pagehttp://www.blogeee.net/codex/index.php?title=Acer_Aspire_One that has a lot of the specs i actually have the faster one.)). IF you can, add some RAM, i am currently running on 512MB 1024MB of RAM and no swap, it's somewhat sad a lot better but and it's better than when the computer needs to swap on the SSD..

to see which SSD you have :

root@hal:/home/manu# hdparm -i /dev/sda /dev/sda: Model=P-SSD1800 ...............

first thing after bootup

... well.. . .update.. : ]

sudo su # because i hate typing sudo on every line apt-get update apt-get upgrade

why fie (or as some say "wireless"

of course the wireless does not work right away and well, for me, before anything else in the world i want to rid the RJ45 cable asap.. .. having a tiny laptop with cables all over the place just doesn't make sense.. . for this we will need to compile the driver, and to compile the driver we will need to install some packages first so :

apt-get install build-essential libc6-devx

the madwifi site is, IMHO, a tiny bit of a mess, i originally installed the wifi by getting madwifi-nr-r3366+ar5007.tar.gz from http://snapshots.madwifi.org/special/ but NOW, it seems i need to get madwifi-hal-0.10.5.6-r3816-20080724.tar.gz (latest version) from http://snapshots.madwifi.org/madwifi-hal-0.10.5.6/ ... so (this is probably already outdated):

cd /usr/src wget http://snapshots.madwifi.org/madwifi-hal-0.10.5.6/madwifi-hal-0.10.5.6-r3816-20080724.tar.gz tar zxvf madwifi-hal-0.10.5.6-r3816-20080724.tar.gz cd madwifi-hal-0.10.5.6-r3816-20080724 make make install

at this point in your life you might be asked to remove old modules, if so chose r then:

madwifi-unload modprobe ath_pci

i actually had to reboot and fiddle with the wifi button (for me the led doesn't light up.. .ever) to catch some wifi signals, so good luck with that.. . :]

general optimizations

i found an interesting tutorial that gave some good tips.. in /etc/rc.local add the following (before the line exit 0).

# SP: save the SSD sysctl -w vm.swappiness=1 # Strongly discourage swapping sysctl -w vm.vfs_cache_pressure=50 # Don't shrink the inode cache aggressively # SP: from rc.last.ctrl on Linpus echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor echo 1500 > /proc/sys/vm/dirty_writeback_centisecs echo 20 > /proc/sys/vm/dirty_ratio echo 10 > /proc/sys/vm/dirty_background_ratio [ -L /sys/bus/usb/devices/1-5/power/level ] && echo auto > /sys/bus/usb/devices/1-5/power/level [ -L /sys/bus/usb/devices/5-5/power/level ] && echo auto > /sys/bus/usb/devices/5-5/power/level # SP: Accelerate hibernation and reduce the image size echo 0 > /sys/power/image_size # SP: according to Linpus, for the multicard reader ## see http://petaramesh.org/post/2008/07/16/Installation-de-KUbuntu-sur-un-Acer-Aspire-One # for the script jmb38x_d3e.sh setpci -d 197b:2381 AE=47 nice /usr/local/sbin/jmb38x_d3e.sh & # SP: another Linpus thing /usr/bin/setkeycodes e025 130 /usr/bin/setkeycodes e026 131 /usr/bin/setkeycodes e027 132 /usr/bin/setkeycodes e029 133 /usr/bin/setkeycodes e071 134 /usr/bin/setkeycodes e072 135 /usr/bin/setkeycodes e055 159 /usr/bin/setkeycodes e056 158 # /SP

/boot/grub/menu.lst

because there is a timing issue we can gain a whopping 0.00000000032 seconds on bootup, and every picosecond counts. there is also an option to reduce seek time. first thing is insert these options in the defoptions sections so that they are applied upon kernel updates so,find the line :

# defoptions=quiet splash

and change it to:

# defoptions=elevator=noop clocksource=hpet quiet splash

then in the kernel section, for every kernel you want to use you can add the clocksource=hpet and elevator=noop thing like thisfrom:

kernel /boot/vmlinuz-2.6.24-19-generic root=UUID=d73def36-8ef6-4da3-a8cf-d899fda3834a ro quiet splash

to

kernel /boot/vmlinuz-2.6.24-19-generic root=UUID=d73def36-8ef6-4da3-a8cf-d899fda3834a ro clocksource=hpet elevator=noop quiet splash

for some explanations on noop visit http://lonesysadmin.net/2008/02/21/elevatornoop/.

more more more optimizations

we can now modify /etc/sysctl.conf and add this at the end:

# decrease swap usage to maximize SSD life vm.swappiness = 1 # Don't shrink the inode cache aggressively vm.vfs_cache_pressure = 50

oh dio

aka audio, who needs sound on a computer. .. .well, just for the sake of it.. .: ] the sound should work right away however after a suspend to RAM i noticed the sound just doesn't wake up, the only way to reanimate it is to use a windows user reflex and reboot.. . of course we won't leave it at that, we can vaccinate the little bugger by adding something somewhere..

echo "options snd-hda-intel model=acer" >> /etc/modprobe.d/alsa-base

this should do for now, i'll probablly add stuff as life goes by, especially stuff about the card readers which for me do not work yet. ..

post conclusion

pain : one very painful thing is the fact that NetworkManager has a memory leak the size of china, apparently this bug is "heard of" but remains still present in "hardy" (hardly ?). this can be fixed by installing network-manager_0.6.6-0ubuntu7_i386.deb which can be found on this page or more directly, here. after downloading all you'll need to do is :

dpkg -i network-manager_0.6.6-0ubuntu7_i386.deb

some links

because everything i know was known elsewhere by others and even published before i was born, here are some references that helped me get this document and computer up and running