Installing Ubuntu 5.04 on a ThinkPad T43 (1875)

From ThinkWiki
Revision as of 08:33, 27 August 2005 by Adityanag (Talk | contribs)

Jump to: navigation, search

I installed Ubuntu 5.04 "Hoary Hedgehog" on a IBM T43 1875-E5U.

Before starting the installation, make a copy of the IBM system restore CD's. You can do this in Windows by going to the Access IBM Start Menu option, and clicking on Create Rescue Cd's. This is extremely important!!! In case you erase your IBM system rescue partition, or remove the BootLoader, these CD's are the only way you can restore your machine to Factory settings. You'll need six blank CD's, or one blank CD and one blank DVD, if you have a DVD-Writer.

Once this is done, install as usual. The only gotcha is the installation of the Boot-loader. There is a method by which you can save your current MBR, so that you don't lose the Access IBM button's functionaltiy, but I don't know it. Please update this page if you know.

I installed grub in the MBR of my hard disk. After rebooting, the Access IBM button was not working anymore. My rescue partition would not boot. After the text based installation ended, Ubuntu said that it starting X. Then I got a blank screen.

My machine has the Intel Graphics Media Accelerator 900 installed. To get X working, I had to edit the x.org file. I did this in the following manner:

  • Press CtrlAltF2 to get a Virtual Terminal
  • Login as the user you made while installing
  • {{{2}}} sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup (keep a backup)
  • {{{2}}} sudo vi /etc/X11/xorg.conf
  • scroll down to this section
Section "Device"
       Identifier  "Intel Corporation Intel Default Card "
       Driver      "i810"
       BusID       "PCI:0:2:0"
EndSection
  • Change Driver "i810" to Driver "vesa"
  • save and exit

After this, I used CtrlAltF7 to come back to the X terminal, then CtrlALtBackspace to restart it. X started successfully.

The next thing to do was use the excellent Unofficial Ubuntu Guide to set up various things.


After hunting around on the net, I came across two excellent guides. These are Edward Mendelson's guide to Ubuntu on a T42 and aaltonen.us Ubuntu Guide

I have reproduced sections from these two guides. The authors have been notified of this.

Install a kernel for your Pentium 4 CPU

Use the Gnome menu System | Administration | Synaptic Package Manager, and search and install the two packages linux-686 and (while you are here) build-essential. The first of these installs the version of the kernel that specifically supports Pentium 4; the second provides essential files for “building” other programs if necessary. Reboot. The 686 kernel should be at the top of the list of boot options. Boot into it.

Enable sleep and hibernation

Open a terminal and enter these commands:

sudo cp /etc/default/acpi-support /etc/default/acpi-support-backup
sudo gedit /etc/default/acpi-support

Edit the file by removing the # character at the beginning of the line that will look like this when the character is removed:

ACPI_SLEEP=true

Save the file. Next, in the terminal, enter:

sudo cp /boot/grub/menu.lst /boot/grub/menu.lst-backup2
sudo gedit /boot/grub/menu.lst

and go to the line starting #kopt. Add the following at the end of the existing line (replace /dev/hda5 with your swap partition, which you can identify by entering the command fdisk -l in the terminal

resume=/dev/hda5 vga=0x318

The vga=0x318 string forces the text-mode display during boot-up and shutdown to display in 50-line mode instead of the ugly 25-line mode. This string is perfect for a 1024x768 screen, but you might want something different. You might want to consult this full list of VGA modes for Linux. The #kopt line should look something like this (if you do not find the strings pci=noacpi and acpi_sleep=s3_bios then add them also)

# kopt=root=/dev/hda1 ro pci=noacpi acpi_sleep=s3_bios resume=/dev/hda5 vga=0x318

If you intend to run the command sudo update-grub after you save the file, then save the file now. If you do not intend to run that command, then add these strings by hand to the kernel line that launches Ubuntu and reboot.

To suspend to RAM (sleep), press the ThinkPad’s sleep button (Fn+F4); to wake up the system, press the Fn key, wait a few seconds, and press Ctrl-Alt-Backspace to restart the Xwindow graphic system.

To suspend to disk (hibernate), press the ThinkPad's hibernate button (Fn+F12), or use the option to hibernate the computer on the logout menu. Press the power button to wake the system; the desktop should reappear automatically.


Install on-screen confirmation of the ThinkPad buttons

The program tpb (ThinkPad Buttons) makes all the ThinkPad-specific buttons and Fn-key combinations work as expected (some buttons, such as the ones that control screen brightness, are hardware-controlled and work under any operating system). As explained by Michael R Head in his post in this thread , the Ubuntu Hoary version of tpb does not support on-screen display (OSD) of the results of your actions. To correct this, download the latest Debian version of the program from the Debian.org site (scroll down to the box under the heading "Download tpb").

Open a terminal, use the cd command to navigate to the directory in which you downloaded the package and enter:

sudo dpkg -i tpb*

On the Gnome menu, use System | Preferences | Sessions | Startup Programs and use the Add button to add the following command:

tpb -d

If you want the Access IBM button to start your screensaver, open a terminal and enter these commands:

sudo cp /etc/tpbrc /etc/tpbrc-backup
sudo gedit /etc/tpbrc

Edit the file by adding this line below the line that begins #THINKPAD /usr/bin, etc.:

THINKPAD /usr/bin/xscreensaver-command -activate

Save the file. In the terminal, run man tpb to learn about other ways to use the Access IBM button.

I believe some of the following steps may have performed automagically during installation (I simply don't remember whether they were or not), but you should perform all the steps anyway to make certain that everything is set up correctly.

First, in a terminal, enter the commands (replacing [username] with your username):

echo nvram | sudo tee -a /etc/modules
sudo addgroup nvram
sudo adduser [username] nvram

I don't pretend to understand exactly what this does, but the first line adds the string "nvram" at the end of the file /etc/modules; the next two lines create a group called nvram and add yourself to the group. Next, enter these commands in the terminal:

cd /etc/udev/permissions.d
sudo cp udev.permissions udev.permissions-backup
sudo gedit udev.permissions

Edit the file to make sure these lines are present (add them if necessary, perhaps to the top of the second set of lines under the heading # character devices:

misc/nvram:root:nvram:660
nvram:root:nvram:660

Save the file and reboot.

Note: the tpb program does not provide visual confirmation for the Fn+F5 button that toggles the wireless radio, but the button does toggle the radio on and off, exactly as it does in Windows. The indicator light works as well.

Enable TrackPoint middle-button scrolling

To use the blue middle TrackPoint button as a scroll wheel, do the following. In a terminal, enter these commands:

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf-backup
sudo gedit /etc/X11/xorg.conf

In the editor, find the section headed Section “InputDevice” / Identifier “Configured Mouse” and the following lines above the “EndSection” line:

Option    "EmulateWheel"        "true"
Option    "EmulateWheelButton"  "2"

Save the file. Logout, restart X with Ctrl-Alt-Backspace, and log in again.

Don't slow down boot-up by synchronizing with network time

Ubuntu pauses during boot-up while attempting to synchronize the system clock with a remote time server, but you probably aren't connected to the internet when you boot with a ThinkPad, so this attempt accomplishes nothing. . Eliminate this delay by opening a terminal and entering:

sudo chmod -x /etc/init.d/ntpdate

Don't slow down boot-up when no Ethernet cable is attached

In Synaptic find and install the ifplugd package. After installing it, open a terminal and run this command

sudo gedit /etc/default/ifplugd

Edit the file by modify the lines INTERFACES="" and HOTPLUG_INTERFACES="" if no interfaces are listed or if the wrong interfaces are listed. You probably only want to test the hotplug status of the wired Ethernet connection, so the lines should read:

INTERFACES="eth0"
HOTPLUG_INTERFACES="eth0"

I don't pretend to understand these options fully, so please post corrections if I'm wrong. I've also modified the ARGS= line to add the string -b which silences the otherwise excessive beeping when you plug or unplug the cable. Save the file and reboot.

Conclusion

In the end, Ubuntu turned out to be a beautiful distro to install. Most of it "just worked", and with a little tweaking, I have reached a level of functionality that eluded me with Suse.

Here's a quick summary.

Worked out of the Box: Sound, Networking (wired and wireless), Power Management, Hibernate, ThinkPad Buttons (without OSD)

Worked after little tweaking: Sleep, Middle button scrolling, ThinkPad Buttons OSD.

Did not Work: IBM Rescue and Recovery Partition. Don't forget to make the Rescue CD's