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
- http://doc.ubuntu-fr.org/installation/depuis_une_cle_usb
- http://www.debuntu.org/how-to-install-ubuntu-linux-on-usb-bar-p2
- http://petaramesh.org/post/2008/07/16/Installation-de-KUbuntu-sur-un-Acer-Aspire-One
- https://help.ubuntu.com/community/AspireOne
- http://jkkmobile.blogspot.com/2008/07/how-to-update-acer-aspire-ones-ssd.html