Installation Ubuntu Lucid Lynx#


(also used for Maverick Meerkat, Natty Narwhal and Oneiric Oncelot)

Installed software#

  • Plain install from live CD (created USB startup disk for that)
  • installed extra packages:
    • openssh-server
    • htop
    • sensors-applet
    • flashplugin-installer
    • gpsbabel
    • sun-java6-jdk sun-java6-source sun-java6-plugin (first synaptic => repos => other repos => enable lucid partner)
      • since 11.10 sun is also not anymore in the partner repo's, download from java.sun.com, extract to /opt/jdk1.6_...., and add it to the PATH in /etc/profile
    • checkgmail
    • download and install eclipse
    • play an mp3, and you get prompted to install the required codecs....
    • vlc and few more "ugly" and "bad" gstreamer packages
    • subversion
    • acpi
    • libdvdcss2 from http://download.videolan.org/pub/libdvdcss/1.2.8/deb
    • nethogs (show per process bandwith usage )
    • iftop
    • mysql-client mysql-server
    • libnss3-tools (certutil)
    • chmsee (viewing windows help files , .chm)
    • guake terminal
    • virtualbox-ose virtualbox-guest-additions
    • acroread
    • wammu (phone management)
    • XSane (scanner software)
    • bluez-utils
    • alacarte (11.10 and up, for changing your menu's)

Natty Narwhal tweaks#

sudo add-apt-repository ppa:alexeftimie/ppa
sudo apt-get update
sudo apt-get install indicator-sysmonitor
sudo apt-get install openjdk-6-jdk
  • keyboard preferences: edit /etc/kbd/config : KEYBOARD_RATE and KEYBOARD_DELAY
  • powermanagement settings can be found by searching for "preferences" in the application.
  • replace checkgmail with gm-notify

Kernel compile#

he Because my HP 6830s laptop has a buggy DSDT, I have to change that. Since Linus decided that kernels no longer accept custom DSDT's I have to recompile the kernel to get this done.
I found a useful link here : http://ubuntuforums.org/showthread.php?t=1341580
And afterwards another one here : http://blog.avirtualhome.com/2010/05/05/how-to-compile-a-ubuntu-lucid-kernel/

So, what I did is downloade the kernel source from http://archive.ubuntu.com/ubuntu/pool/main/l/linux/, and :

dpkg -i /home/metskem/Downloads/linux-source-2.6.35_2.6.35-22.34_all.deb
sudo apt-get install fakeroot kernel-wedge build-essential makedumpfile
sudo apt-get build-dep linux
sudo apt-get install qt3-dev-tools libqt3-mt-dev kernel-package
mkdir src
cd src
tar xjf /usr/src/linux-source-2.6.32.tar.bz2 
cd linux-source-2.6.32/
cp -vi /boot/config-`uname -r` .config
make xconfig .......

click in left pane on ACPI, and then double click in right pane on custom DSDT and fill in the fullname of your custom dsdt (for example /home/metskem/dsdt/dsdt.hex.
Then we'll continue:

export CONCURRENCY_LEVEL=3   # put both intel cores to work :-) 
time fakeroot make-kpkg --initrd --append-to-version=dh kernel-image kernel-headers | tee /home/metskem/kernel-compile.log

see log(info)

.......
real	66m15.850s
user	93m31.899s
sys	14m9.749s

Now install the kernel :

metskem@gneisenau:~/src$ sudo dpkg -i linux-image-2.6.32.11+drm33.2dh_2.6.32.11+drm33.2dh-10.00.Custom_i386.deb 
(Reading database ... 151079 files and directories currently installed.)
Preparing to replace linux-image-2.6.32.11+drm33.2dh 2.6.32.11+drm33.2dh-10.00.Custom (using linux-image-2.6.32.11+drm33.2dh_2.6.32.11+drm33.2dh-10.00.Custom_i386.deb) ...
Ok, aborting, since modules for this image already exist.
dpkg: error processing linux-image-2.6.32.11+drm33.2dh_2.6.32.11+drm33.2dh-10.00.Custom_i386.deb (--install):
 subprocess new pre-installation script returned error exit status 1
Examining /etc/kernel/postrm.d .
Running postrm hook script /usr/sbin/update-grub.
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32.11+drm33.2dirtyharrykernel
Found linux image: /boot/vmlinuz-2.6.32.11+drm33.2dh
Found linux image: /boot/vmlinuz-2.6.32-21-generic
Found initrd image: /boot/initrd.img-2.6.32-21-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows Recovery Environment (loader) on /dev/sda1
Found Windows Vista (loader) on /dev/sda3
Found Linux Mint 7 Gloria - Main Edition (7) on /dev/sda6
done
Errors were encountered while processing:
 linux-image-2.6.32.11+drm33.2dh_2.6.32.11+drm33.2dh-10.00.Custom_i386.deb
metskem@gneisenau:~/src$ sudo dpkg -i linux-headers-2.6.32.11+drm33.2dh_2.6.32.11+drm33.2dh-10.00.Custom_i386.deb 
Selecting previously deselected package linux-headers-2.6.32.11+drm33.2dh.
(Reading database ... 151079 files and directories currently installed.)
Unpacking linux-headers-2.6.32.11+drm33.2dh (from linux-headers-2.6.32.11+drm33.2dh_2.6.32.11+drm33.2dh-10.00.Custom_i386.deb) ...
Setting up linux-headers-2.6.32.11+drm33.2dh (2.6.32.11+drm33.2dh-10.00.Custom) ...
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/nvidia-common 2.6.32.11+drm33.2dh /boot/vmlinuz-2.6.32.11+drm33.2dh

And finally :

update-initramfs -c -k 2.6.32.11+drm33.2dh 
update-grub

For the last part (that takes over an hour) I created a small shell script(info)

Miscellaneous#

Eclipse #

Eclipse fails with
java.lang.IllegalArgumentException: invalid qualifier: 11+drm33
	at org.osgi.framework.Version.validate(Version.java:188)
	at org.osgi.framework.Version.<init>(Version.java:92)
	....
Solved by adding -vmargs -Dorg.osgi.framework.os.version=2.6.32.11+drm33.2dh01 to /usr/local/eclipse/eclipse.ini.
Also added -Djava.library.path=/usr/lib/jni to eclipse.ini to get subversion working.

Wireless driver#

I added a file named ´´intel-5300-iwlagn-disable11n.conf´´ to /etc/modprobe.d containing the following to get my wireless working properly (I had lots of SYN_SENT TCP sessions) :

options iwlagn 11n_disable=1

Memory usage Eclipse#

Running Eclipse with the OpenJDK, it requires excessive amounts of storage (I don't mean heap storage), run top command, and it will have "VIRT 1.8G" and "RES 1.1G", leaving hardly any memory left for anything else (I only have 2G in my laptop) I removed openjdk and downloaded the sun6 jdk, now I get "VIRT 911M" and "RES 310M".

Suspend resume fix #

For my wife's ASUS X54L I had to tweak some for the suspend/resume to work. Thanks to the guy who posted: http://thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug/comment-page-8

Added script /etc/pm/sleep.d/./20_custom-ehci_hcd :


#!/bin/sh
#inspired by http://art.ubuntuforums.org/showpost.php?p=9744970&postcount=19
#...and http://thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug    
# tidied by tqzzaa :)

VERSION=1.1
DEV_LIST=/tmp/usb-dev-list
DRIVERS_DIR=/sys/bus/pci/drivers
DRIVERS="ehci xhci" # ehci_hcd, xhci_hcd
HEX="[[:xdigit:]]"
MAX_BIND_ATTEMPTS=2
BIND_WAIT=0.1

unbindDev() {
  echo -n > $DEV_LIST 2>/dev/null
  for driver in $DRIVERS; do
    DDIR=$DRIVERS_DIR/${driver}_hcd
    for dev in `ls $DDIR 2>/dev/null | egrep "^$HEX+:$HEX+:$HEX"`; do
      echo -n "$dev" > $DDIR/unbind
      echo "$driver $dev" >> $DEV_LIST
    done
  done
}

bindDev() {
  if [ -s $DEV_LIST ]; then
    while read driver dev; do
      DDIR=$DRIVERS_DIR/${driver}_hcd
      while [ $((MAX_BIND_ATTEMPTS)) -gt 0 ]; do
          echo -n "$dev" > $DDIR/bind
          if [ ! -L "$DDIR/$dev" ]; then
            sleep $BIND_WAIT
          else
            break
          fi
          MAX_BIND_ATTEMPTS=$((MAX_BIND_ATTEMPTS-1))
      done
    done < $DEV_LIST
  fi
  rm $DEV_LIST 2>/dev/null
}

case "$1" in
  hibernate|suspend) unbindDev;;
  resume|thaw)       bindDev;;
esac