Installing Ubuntu 7.04 on a ThinkPad T43
Installation Log of Ubuntu 6.06 on a T43
Contents
- 1 Overview
- 2 Installation
- 3 Configuration
- 4 References
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
- ATI 3D Acceleration (Mobility Radeon X300)
- AIGLX / Compiz
Was easy
- Fingerprint reader
- AIGLX / Beryl
- middle key of Ultra Nav (Trackpoint) for scrolling
- Active Protection System (acceleration sensor)
- Forward/Backward keys, Access IBM Key
- Toggle Touchpad on/off
Was very hard
- Active Protection System (hard disk parking needs kernel recompile)
Untested
- Bluetooth (light indicates working)
- Modem
- IrDA
- TV out, VGA out
Installation
I just installed Feisty using the graphical installer.
If you want to keep you Rescue 'n' Recovery Partition, read this blog entry.
Whatever you do, you should care about Backups etc. yourself. A starting point is given in Installing Ubuntu 6.10 on a ThinkPad T43#Installation
The only non-free driver that was activated was atheros for wifi access. For graphics the free ati/radeon driver was activated, the restricted ati alternative fglrx was installed but not enabled. I did not try it.
Configuration
3D Acceleration and Compiz
3D Acceleration and Compiz worked out of the box for me. Just activate it in the system menu under desktop effects. I had some minor issues, but I blame the beta status for that. To test if 3D Acceleration it works, if you have problems, type
$ glxinfo | grep rendering
The answer should be: "direct rendering: Yes". If it says "No", you don't have 3D acceleration.
3D Acceleration Beryl
I just installed following packages and started beryl-manager. Everything just works out of the box. If you enable compiz effect in the gnome menu you can even swith between beryl, compiz and metacity (no effects) just using the beryl-manager applet.
sudo apt-get install beryl beryl-core beryl-manager beryl-plugins beryl-plugins-data beryl-settings beryl-settings-bindings
Active Protection System (acceleration monitor)
The T43 has a great system to protect your hard disk, the Active Protection System APS. HDAPS and How to protect the harddisk through APS describe how you can use it.
Feisty comes with with the accelerometer installed but not activated. To test it activate the kernel module and use a neat program you find in hdaps-utils
To activate it, type:
$ sudo su
# echo "hdaps" >> /etc/modules
# exit
$ sudo modprobe hdaps
For a nice 3D show type:
$ sudo apt-get install hdaps-utils
$ hdaps-gl
Now you can evaluate acceleration of your Laptop. Your hard disk unfortunately still is not protected. To achive this, try the next chapter.
Active Protection System (disk protection)
You'll probably need the following packages:
$ sudo apt-get install build-essential fakeroot kernel-package libncurses5-dev wget bzip2
Test your kernel version with $ uname -r
If you see 2.6.20-15-generic, you can just follow the provided instructions. If you have a different version, adapt this howto to your personal needs. Download the right patch for your kernel version, in my case it was 2.6.30 rc, but now (may 2007) there is a newer available: 2.6.20 You'll find more patches in HDAPS#Disk_head_parking
Get the kernel sources and patch them:
$ sudo su
# cd /linux/src
# apt-get install linux-source
# cd linux-source-2.6.20
# patch -p1 -l < /home/silvan/993-001.bin
If you only saw some lines saying "patching line..." and "succeeded...", then everything is fine.
# sudo apt-get install linux-restricted-modules-generic linux-restricted-modules-common
Take necessary steps for whatever restricted kernel module you want to use, e.g.
For atheros wifi get madwifi-source, I used the one from debian testing, as ubuntu does not povide them: debian testing madwifi-source. Install them and unpack the madwifi package in /usr/src.
Now let's build the kernel; if you need help on this look at this or that howto from howtoforge.
# make clean
# make oldconfig
# fakeroot make-kpkg clean
# fakeroot make-kpkg --append-to-version=.hdapscustom kernel_image --initrd binary
This will probably take a very long time, it took me roughly 1:45 hours on my T43. You have to be patient. If it didn't finish with errors, let's now install the newly built kernel. First check the name of our kernel package, and then install at least the image and the header packages. I just installed all like this:
# cd /usr/src
# ls -l
# dpkg -i
# dpkg -i linux-headers-2.6.20.3-ubuntu1.hdapscustom_2.6.20.3-ubuntu1.hdapscustom-10.00.Custom_i386.deb
# dpkg -i linux-doc-2.6.20.3-ubuntu1.hdapscustom_2.6.20.3-ubuntu1.hdapscustom-10.00.Custom_all.deb
# dpkg -i linux-image-2.6.20.3-ubuntu1.hdapscustom_2.6.20.3-ubuntu1.hdapscustom-10.00.Custom_i386.deb
# dpkg -i linux-manual-2.6.20.3-ubuntu1.hdapscustom_2.6.20.3-ubuntu1.hdapscustom-10.00.Custom_all.deb
# dpkg -i linux-source-2.6.20.3-ubuntu1.hdapscustom_2.6.20.3-ubuntu1.hdapscustom-10.00.Custom_all.deb
Do the same for all packages that were created for restricted modules. Maybe you have to create them first with something like:
# cmdroot|fakeroot make-kpkg --append-to-version=.hdapscustom --added-modules madwifi modules_image
And let's not forget to leave the super user shell
# exit
Now is the time to reboot and to test if everything went fine ;-) Verify with $ uname -a
if you booted the right kernel. If you want you can decide which kernel should be booted by default in /boot/grub/menu.lst selecting the number of the boot entry in the line after 'default'.
Check the output of
$ dmesg | grep hdaps
In my case the new kernel printed nothing, the old kernel printed:
hdaps: IBM ThinkPad T43 detected.
hdaps: initial latch check good (0x01).
hdaps: device successfully initialized.
input: hdaps as /class/input/input4
hdaps: driver successfully loaded.
Next step is to install hdapsd, the daemon, that actually stops the hard disk. Get the latest user space daemon hdapsd. Compile and install it using
$ gcc -o hdapsd hdapsd-*.c
$ sudo cp hdapsd /usr/local/sbin/
Start hdapsd using $ hdapsd -d sda -s 15
If you move your Laptop you should now see the console printing messages if the disk is parked or not.
$ dmesg | grep protect
should confirm this. If the output says something like unload support NOT reported..
and head park not requested, used standby!..
, have a look at http://thinkwiki.org/wiki/Problem_with_APS_harddisk_parking and examine if your drive might have problems with the disk protection.
A useful gimmick is the gnome-hdaps-applet showing the current disk protection state in the panel. KDE users look at khdapsmonitor for an alternative. To install gnome-hdaps-applet, do the following:
$ mkdir gnome-hdaps-applet
$ cd gnome-hdaps-applet
$ wget http://www.zen24593.zen.co.uk/hdaps/gnome-hdaps-applet-20060120.tar.gz
$ tar -xzf gnome-hdaps-applet-20060120.tar.gz
$ sudo apt-get install libpanel-applet2-dev
$ gcc $(pkg-config --cflags --libs libpanelapplet-2.0) -o gnome-hdaps-applet gnome-hdaps-applet.c
$ sudo install gnome-hdaps-applet /usr/bin/
$ sudo mkdir /usr/share/pixmaps/gnome-hdaps-applet/
$ sudo cp *.png /usr/share/pixmaps/gnome-hdaps-applet/
$ sudo cp GNOME_HDAPS_StatusApplet.server /usr/lib/bonob
Help needed
Everything seems to work fine with the patched kernel - unless wifi. Ubuntu doesn't find my wireless device anymore. Probably this is because my Atheros card needs restricted modules. Find more infos on http://madwifi.org/wiki/ on compiling Atheros wifi modules. Maybe the kernel compile goal modules or modules_image could help. Could please someone detail the preferred way to handle this?
o/servers/
Afterwards add the applet to your panel manually. Be sure to see the play/pause sign switching when moving your laptop :-)
More information can be found on How to protect the harddisk through APS or Installing_Ubuntu_6.06_on_a_ThinkPad_T43#Active_Protection_System or Howto for edgy. If you speak italian (unfortuately my level is really, really poor), Fedora on z60t might be of use to you. Maybe even somebody would find the time to translate and adopt this fedora howto to english and ubuntu?
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.
If Firefox is scrolling into wrong directions, look at Talk:How_to_configure_the_TrackPoint#TrackPoint_scrolling_inverted_in_Firefox.
Fingerprint Reader
How to enable the fingerprint reader has a good explanation for a very complicated way of activating your fingerprint reader using a restricted driver.
A free alternative to this is available at [1]: How to enable the fingerprint reader with ThinkFinger provides more details, also the Ubuntu wiki does.
Spezial keys
If the following standard settings are not enough for you, you'll find more info here: How to get special keys to work
Access IBM to start application
The Access IBM works out of the box. Just go to your shortcut configuration dialog and choose what actionyou want to connect with pressing this button, e.g. opening your home folder/terminal, switching o fullscreen, opening help...
CAPS to substitute Win/Super
For using your CAPS key as a replacement for the lacking Win/Super key, add following to your ~/.Xmodmap
! No Caps Lock clear lock ! Caps Lock as Win key add mod4 = Caps_Lock
To avoid restarting X type $ xmodmap ~/.Xmodmap
Forward/Backward in browsers
Firefox
For using the Forward/Backward Keys in your browser add also these lines to your ~/.Xmodmap as at least Firefox gets confused with their original setting as XF86Back/XF86Forward.
! back and forward browser keys keycode 234 = F19 keycode 233 = F20
For Firefox add these lines to your /usr/share/firefox/chrome/browser/content/browser/browser.xul
<key id="goBackKb3" keycode="VK_F19" command="Browser:Back" /> <key id="goForwardKb3" keycode="VK_F20" command="Browser:Forward" />
directly after these lines:
<key id="goBackKb" keycode="VK_LEFT" command="Browser:Back" modifiers="alt"/> <key id="goForwardKb" keycode="VK_RIGHT" command="Browser:Forward" modifiers="alt"/>
Opera
For Opera add these pairs in Tool->Preferences->Advanced->Shortcuts->Keyboard setup->Edit->Browser Window->New
- If you did the Firefox Xmodmap entry: F20-Forward, F19-Back
- If you didn't add the lines: XF86Forward-Forward, XF86Back-Back
Konqueror
In Konqueror it's working out of the box. But if you did the Xmodmap settings you have to adjust Konqueror, too. Just go to Settings->Configure Shortcuts, look for Back and Forward and set the alternative shortcut in the custom dialog by pressing the respective key. If you are using KDE you'll be probable prefering to do that in the Configuration Center to make these changes visible to all KDE Apps.
Toggle Touchpad on/off
Some people like to be able to switch their Touchpad on and off on the fly to avoid touching it during typing or pressing buttons when having the laptop lying on the lap. The following settings make this easily possible.
Add the option "SHMconfig" to your synaptics section in the xorg.conf by typing $ sudo gedit /etc/X11/xorg.conf
and set it to "on":
... Section "InputDevice" Driver "synaptics" ... Option "SHMconfig" "on" EndSection ...
This makes the synaptics touchpad toggable during runtime. If you prefer the touchpad to be switched off always add following line instead:
Option "TouchpadOff" "1"
To make this setting working we need to restart X. The best choice is to log off your window manager (don't forget to close programs where you might loose data) and press Ctrl + Alt + Backspace.
To switch the touchpad on and off you can use synclient. But if you prefer a program with a nice GUI, try gsynaptics (or ksynaptics if you use KDE):
$ sudo apt-get install gsynaptics
gsynaptics integrates into your gnome settings menu, ksynaptics in the KDE Control Center. They preety much look the same, ksynaptics seems to just offer one additional setting: to switch your touchpad off automatically when typing. For easier reachability I just added a shortcut to my panel.
To make gnome remember your last settings after a system restart go to your session configuration and add the program gsynaptics-init to the startup programs. I did not try this with KDE, sorry.
Find more information on Synaptics TouchPad driver for X
IrDA
Find information here: How to make use of IrDA
VGA out
I didn't try it, but it looks easy: How to enable VGA out
References
- Dapper Drake on T42
- Installing_Ubuntu_6.06_on_a_ThinkPad_T43
- Installing_Ubuntu_6.10_on_a_ThinkPad_T43
- This guide is listed at the TuxMobil Linux laptop and notebook installation guides survey (IBM/Lenovo).
Hope this helped :-)
tec