Installing Ubuntu 6.06 on a ThinkPad T43

From ThinkWiki
Revision as of 14:19, 3 March 2007 by Tec (Talk | contribs) (Fingerprint Reader)

Jump to: navigation, search

Installation Log of Ubuntu 6.06 on a T43


Overview

Worked right out of the box

  • 1400*1050 resolution
  • Battery Management
  • Ultra Nav (Trackpoint and synaptic touchpad)
  • WLAN (Atheros, IBM 11a/b/g Wireless LAN Mini PCI Adapter II)
  • Hibernate and Standby
  • Fn keys (switch between monitors untested)
  • Audio Keys
  • ThinkLight

Was easy or required some work

  • easy ubuntu (includes skype and some codecs)
  • middle key of Ultra Nav (Trackpoint)
  • ATI 3D Acceleration (Mobility Radeon X300)
  • Xgl / Compiz
  • Fingerprint reader
  • Forward/Backward keys, Access IBM Key

Untested

  • Bluetooth (light indicates working)
  • Modem
  • IrDA
  • TV out, VGA out

Failed / still requires work

  • Active Protection System (acceleration sensor works 'out of the box' in edgy, but hard disk parking needs kernel recompile)

Installation

Recovery copy of data

Before installing a new OS you should create a security copy of your old system. As the IBM Rescue and Recovery tool quit with an error message I used the Ubuntu live CD, mounted and cd'ed into my external hard drive and ran the following command:

$ cmduser|sudo dd if=/dev/sda1 | gzip | dd of=./sda1.img

where /dev/sda1 is the device with my windows partition and sda1.img the gzipped security copy. In case of problems one can now restore lost information using

$ sudo dd if=./sda1.img | gzip -d | dd of=/dev/sda1 

After creating the recovery copy we are ready to resize the existing windows partition. This article assumes you want to keep your IBM Rescue and Recovery Partition, shrink in size, but keep your windows partition and create a new partition for Dapper Drake.

Resizing Partitions

Probably the best choice is now to boot from the alternate CD (read [1] to know why) and use it to resize the existing NTFS partition. Unfortionately in my case it didn't work. So I booted the Live CD, but gparted and parted refused to resize my Windows, too. If the same happens to you, use the example here to know how to resize it "manually" using ntfsresize and fdisk.

After resizing your windows partition you should reboot window to check everything's in order. It probably will run checkdisk and reboot two times - according to experieces you can read in the web, you should better let windows do that.

Installation of Ubuntu

Now it's the time to install Ubuntu. I used the alternate CD for that because I chose to install grub into the Linux partition and not into the Master Boot Record (read why). The graphical LiveCD installer automatically installs grub to the MBR. If you want to use grub in the MBR read Rescue and Recovery. There is a description of what you have to do in order to still be able to use the IBM R'n'R partition.

  • remember that you're installing GRUB to an sda mount, not an hda mount like the GRUB installer will prompt you for what you should enter after you tell GRUB not to install in the MBR will be something like this:
/dev/sda3

After the installation is finshed it will reboot your system. Now windows should start. In my case it didn't, but playing around, booting into the R'n'R partition, starting PC Doctor and doing some Diagnostics (no changes) somehow and surprisingly made windows boot again.

To boot you freshly installed Linux you have to reboot the LiveCD one last time. Use

$ sudo dd if=/dev/sda5 of=ubuntu.img bs=512 count=1

to copy the first block of grub into an image file and use e.g. an usb flash drive to transfer it to your newly booted windows. Copy paste the image to C:\ and add the following line to your C:\boot.ini:

C:\ubuntu.img="Ubuntu Dapper Drake"

At the next restart the windows boot manager should now welcome you with the choice to boot windows or ubuntu. Choose ubuntu to (finally ;-) boot your newly installed linux for the first time.

Configuration

Easyubuntu

Easyubuntu is a helpful tool to install Skype, codecs, ATi 3D drivers and further things that can make your live easier.

Keyboard Layout

My T43 has a German keyboard layout. Most worked just fine, but some keys (in my case the "at" and the "tilde" among others) just didn't. If the same happens to you, just go to the Gnome System Preferences menu and choose the right layout for your keyboard (probably named after your language and something like eliminate-dead-keys or no-dead-keys)

3D Acceleration and Xgl/Compiz

If you have an ATI Radeon X300, use this explanation to make your hardware 3d acceleration work.

To test if it works type

$ glxinfo | grep rendering

The answer should be: "direct rendering: Yes". If it says "No", you don't have 3D acceleration.


If you want to install Xgl/Compiz like me, here is a great installation help for ATI cards (use way two.)


If you have another card you might find a good explanation here.


3D Acceleration using open-source radeon driver and AIGLX/Beryl

From my experience it was better to use "radeon" driver, the open source one, on top of "drm" driver, also part of the kernel, instead of fglrx. I get direct rendering and similar performance---maybe fglrx driver gives 50-100 more fps. The most annoying thing about fglrx driver is that it can cause hard locks every now and then and your suspend doesn't work properly...believe me I tried the ones that the Thinkwiki says supposed to work.

$ glxinfo | grep rendering
direct rendering: Yes
OpenGL renderer string: Mesa DRI R300 20060815 TCL

Use the directions in the previous section to install fglrx driver, library. (I just installed them from shell rather than making them into packages, I found the uninstall script in /usr/share/fglrx to work properly). FYI, I used the version 8.26.18-x86.

If you don't get rendering use LIBGL_DEBUG=verbose glxinfo to diagnose the problem. The most common problem is that xorg looks for DRI library files in /usr/X11R6/lib/dri, which didn't exist for me. A simple way to solve this is creating a symlink to where those files are located (/usr/lib/dri/):

$ cd /usr/X11R6/lib/
$ ln -s /usr/lib/dri/ .

Open your /etc/modules file and add these lines and comment 'fglrx' if there is any:

intel-agp
drm
radeon

Also, from my experience, it was better to use AIGLX than Xgl and Beryl instead of Compiz in terms of performance and integration---things like suspend and hibernate. And you can use nice start/shutdown scripts to disable beryl-manager since it can cause hang when you resume from suspension. For more information about suspend/resume scripts, here. On T43s suspend seems to work great with this script.

For more information about installing aiglx and beryl, see here.

ATI X300 is pretty pitiful though...I get around ~570 average FPS when running AIGLX/beryl

$ glxgears
2850 frames in 5.0 seconds = 569.997 FPS
2925 frames in 5.0 seconds = 584.925 FPS
2904 frames in 5.0 seconds = 580.741 FPS
2923 frames in 5.0 seconds = 584.524 FPS...

With metacity (default Gnome window manager) I get around slightly over 1000 FPS

$ glxgears
5073 frames in 5.0 seconds = 1014.423 FPS
5073 frames in 5.0 seconds = 1014.531 FPS
5252 frames in 5.0 seconds = 1049.326 FPS
5803 frames in 5.0 seconds = 1160.502 FPS...

If anyone know how to get rid of the weird warning, I would really appreciate it:

libGL warning: 3D driver claims to not support visual 0x4b

Seems to be a unresolved bug: freedesktop

I added the following options under ati Device section of /etc/X11/xorg.conf

Option      "EnablePageFlip" "True"
Option      "ColorTiling" "True"

Then after that the performance boosted by quite a bit:

7026 frames in 5.0 seconds = 1405.147 FPS
7058 frames in 5.0 seconds = 1411.493 FPS
7062 frames in 5.0 seconds = 1412.393 FPS...

Active Protection System

See end of this chapter if you have ubuntu edgy eft.

The T43 has a great system to protect your hard disk, the Active Protection System APS. How to protect the harddisk through APS describes how you can use it.

ATTENTION!
Only follow these instructions if you know what you are doing!

If you didn't until now you will have to install make, libc, gcc, ... Best is you use

$ sudo apt-get install build-essentials

Determine your kernel version using

$ uname -a

You should see somthing like

Linux ibm 2.6.15-26-386 #1 PREEMPT Thu Aug 3 02:52:00 UTC 2006 i686 GNU/Linux

Install the kernel sources "linux-source" e.g. using Synaptic. Download the right kernel patch from HDAPS#Applications according to your kernel version and system (I chose "sata/ide disk protection patch for 2.6.15") adapt following steps to your needs:

$ cd /usr/src/
$ sudo su
# bunzip2 linux-source-2.6.15.tar.bz2
# tar -xf linux-source-2.6.15.tar
# cd linux-source-2.6.15
# patch -p1 -l < /home/silvan/hdaps_protect.20060118.patch

You should see several lines with the word "suceeded". If you see many "failed" instead you probably chose the wrong patch for your kernel. You can use the --dry-run option to try it out first. If you get errors in the following steps you should better stop unless you know what you are doing.

# make clean
# make oldconfig # use old config, ask for new items, only
# make clean
# make           # takes quite a long time, several minutes
# make modules
# make modules_install

Afterwards use the debian sources mentioned in How to protect the harddisk through APS to install the user space deamon hdapsd and the gnome applet gnome-hdaps-applet, e.g. using Synaptic.

If this worked for you, you can find some nice applications at HDAPS#Applications which make use of the APS.

Help needed
For me unfortunately it didn't work as making the patched kernel failed. Please update ths section if you have different experiences and a better, more detailed working explanation.


NOTE!
After I updated to edgy eft hdaps works without further work: edgy comes with hdaps built in. You can check if it is working by installing hdaps-utils
# sudo apt-get install hdaps-utils

and calling

# hdaps-gl

for a nice 3D show. If it is not, load the kernel module using

# sudo modprobe hdaps

and it should work. But if you want to use hdaps for disk protection, you have to recompile your kernel in edgy, too. Follow this post for an howto:

Howto for edgy

Track Point Middle Key Scrolling

In my case the track point worked out of the box, but the middle mouse button for scrolling did not. How to configure the TrackPoint explains how to solve this. The steps you need to follow are in section "Using the X server (kernel 2.6.11+)". However you don't need to follow the steps in "EmulateWheelTimeout temporarily broken (-> fix for Ubuntu Dapper)" as this is fixed already if you have all your packages up-to-date.

Follow the instructions in the sections "Configure firefox for using trackpoint horizontal scrolling" and "Configure Opera for using trackpoint horizontal scrolling" as well, if you are using one of the two browsers.


Fingerprint Reader

How to enable the fingerprint reader has a good explanation for a very complicated way of activating your fingerprint reader.

An alternative to this is available at [2]: Follow these steps if you want to trust and use this software. How to enable the fingerprint reader with ThinkFinger might provide even more details.

Build and install: Download the tar.gz and unpack it in your home folder then execute the steps:

$ cd thinkfinger-0.2.2
$ ./configure --with-securedir=/lib/security
$ make 
$ sudo checkinstall

If everything went ok assert that you find pam_thinkfinger.so in /lib/security typing:

$ ls /lib/security

These steps will activate the fingerprint reader: Open /etc/pam.d/common-auth:

$ sudo gedit /etc/pam.d/common-auth

Add this line before any pam_unix or pam_unix2 directives:

    auth     sufficient     pam_thinkfinger.so

If your PAM uses the pam_unix and not the pam_unix2 module, you need to pass a specific argument in the /etc/pam.d/common-auth directive to make it consider the password entered at the pam_thinkfinger prompt.

    auth     required     pam_unix.so try_first_pass

For instance my /etc/pam.d/common-auth looks like this:

# before adding the fingerprint reader work there was only this line:
# auth  required        pam_unix.so nullok_secure
auth    sufficient      pam_thinkfinger.so
auth    required        pam_unix.so try_first_pass

Now we are ready to add users to thinkfinger. In my case checkinstall did not create the /usr/local/etc/pam_thinkfinger directory, so first create it, if it is the same in your case, then add you user replacing bob with your username:

sudo mkdir /usr/local/etc/pam_thinkfinger
sudo tf-tool --add-user bob

Open a new Terminal and try some command where you need sudo rights like sudo apt-get update, you should be promted now with

Password or swipe finger: 

Try both, just to be sure everything works, before you logg off ;-)

I did not test kdm, but gdm (gnome login promt) worked with the fingerprint reader, too, prompting the same line "Password or swipe finger".

Help needed
This doesn't seem to work with kdm. An explanation can be found at the URL given below. Same goes for kscreensaver. If anybody succeeds in solving this problem, pls note it here! Thx!

Information on ThinkFinger not working with kdm at the moment.

gksu/gksudo work as well, although its not obvious: If you are prompted for the password, swipe your finger and hit OK, It should authenticate you.

gnome-screensav seems not to work. Anybody any hints on that?

Forward / Backward Keys, Access IBM

Just follow this HowTo for the configuration you prefer: How to get special keys to work

IrDA

TODO
Needs editing

Find information here: How to make use of IrDA


VGA out

TODO
Needs editing

I didn't try it, but it looks easy: How to enable VGA out

References

External Sources

Hope this helped somehow :-) tec