Installing Fedora Core 6 on a ThinkPad T60
Contents
Installation
Installation of Fedora Core 6 (Zod) on a Thinkpad T60 (2623). The installation completes successfully but installs the i586 kernel instead of the required i686 kernel. The wrong kernel is due to a known bug in the Anaconda installer. Work-arounds and instructions for checking your kernel are on this page.
Keeping ThinkVantage Functionality
See the Rescue and Recovery page for details about the recovery partition and retaining access to it.
Works Out of the Box
- Dual Cores (SMP processing)
- As of Kernel 2.6.18, used in Fedora Core 6, there is no loger a single cpu and smp kernel image. SMP is now configured on-the-fly. FC6's kernel will automatically discover the T60's dual core cpu and bring up CPU0 and CPU1.
- Wired Networking
- Kernel recognizes eth0 and correctly loads the e1000 driver.
- Video at 1400x1050
- Fedora does not ship the proprietary ATi driver, as a reult the VESA driver is used. Installation of the ATi fgrlx driver is described later in this article.
- Touchpad / Mouse
- The TrackPoint middle button does not work as a scroll wheel by default.
- PFPS: Note that although the touchpad and trackpoint work, Fedora Core 6 does a bad job of setting up xorg.conf. It is better to fix it up (see below).
- Sound
- The first-boot sound test fails to play the test sound. However, sound support is correctly configured and the snd-hda-intel driver is loaded at startup.
- Important: The modem must be enabled in the BIOS. Make sure it is, or you may search a long time for the reason that you have no sound. I presume this is a driver bug.
- Suspend to RAM
- Works out of the box under Gnome. Gnome power management intregrates with HAL (Linux's hardware abstraction layer) and DBUS, which correctly put this computer into a suspsend to RAM state and wake it up correctly.
Requires Tweaking
- Wireless Networking (Requires ipw3945 driver)
- ATi OpenGL Direct Rendering
- Hibernate
- IrDA
Post Install
Replacing the Kernel
As previously mentioned, the i586 kernel is installed on this machine instead of the i686 version. The i686 version is required to install the ATI video drivers and Intel Wireless drivers required to get this machine 100% operational. It is best to do this first, before updating any packages.
Installing the new kernel can be done by various methods as documented on the Red Hat Bugzilla bug. The safest method is to just to find the i686 kernel on your Fedora Core disk, and install it with the command:
# rpm -Uvh --replacefiles --replacepkgs kernel-$(uname -r).i686.rpm
However, if you the kernel version of the i686 kernel if different that the i586 kernel you have installed and you do not use LVM, you might risk the following method using yum to do the kernel swap.
To swap kernels:
- Open up a terminal window are become root.
- Execute: yum remove kernel
- Make note of any other packages that will be removed due to dependency issues. The packages will have to be reinstalled in the next step.
- Install the kernel.i686 package and any other packages removed in the previous step.
- Fix your Grub configuration
- Reboot
On a minimal install, the only dependencies removed were gnome-session, compiz, gnome-volume-manager, and pcmciautils. Getting things back on track required:
# yum install kernel.i686 gnome-session compiz gnome-volume-manager pcmciautils
After [Yum] completes, you will have to fix the boot loader or you will be unable to boot after a restart.
If you have not used Fedora's default installation using LVM partitions, you can use the following configuration for grub. As root, fire up your favorite text editor and add the following lines to your grub configuration (/boot/grub/grub.conf) just below the initial comments:
title FC6 2.6.18-1.2798 kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet initrd /initrd-2.6.18-1.2798.fc6.img
If you have an LVM partition, use the method detailed at Redhat's site.
Getting Up to Date
Before completing installation, it's best to get up to date by running yum update as root or by using the new graphical updater, Pup, that ships with Fedora Core 6. After all updates are installed, reboot before continuing the post-install tasks.
Setting Up Additional Repositories
In order to get the ATI driver and the Intel Wireless working, you will need to add two repositories to your computer; Livna RPMs and AT-RPMs.
- Enabling Livna's Repository
- As root, rpm -ivh http://rpm.livna.org/livna-release-6.rpm .
- Enabling AT-RPMs Repository
- As root, use your favorite editor to create /etc/yum.repos.d/atrpms.repo and type in:
[atrpms] name=Fedora Core $releasever - $basearch - ATrpms baseurl=http://dl.atrpms.net/fc$releasever-$basearch/atrpms/stable gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms gpgcheck=1 enabled=0
Important: Disabling the AT-RPMs repository by default (using enabled=0) in the above configuration is important. Some repositories have been known not to play well together. See this post on the Fedora Forms for more information. However, AT-RPMs does provide a packaged version of the Intel wireless drivers and firmware that we'll use to set up wireless networking later. As long as AT-RPMs is disabled by default, Yum won't install software from their repository unless we explicitly tell it to do so.
ATi Video Driver (fglrx)
First check that your T60 has FireGL, this can be determined either by using scanpci or looking at your xorg.conf file. If you see in your /etc/X11/xorg.conf file:
#Driver "i810"
you have an ThinkPad T60 X or CTO series, and you can not install the ATI driver. If you see:
#Driver "vesa"
you probably have an ATI driver, and the following instructions should work.
Installing the fglrx driver is easy if you've enabled the Livna.org RPM repository as discribed earlier in this article. Unfortunately, the proprietary ATi driver currently does not support desktop effects or composite rendering used by default in Fedora Core 6.
To install the drivers, as root:
[root@scottt60 ~]# yum install kmod-fglrx.i686 xorg-x11-drv-fglrx
While the driver installs, X fails to use direct Open GL rendering. There are two things that need to be done to get the driver working. First, we must disable effects by adding these lines to the bottom of /etc/X11/xorg.conf:
Section "ServerFlags" Option "AIGLX" "off" EndSection Section "Extensions" Option "Composite" "Disable" EndSection
Next, we need to add ATi's driver directory to dynamic linker (ld) search path and update the linker configuration:
[root@scottt60 ~]# echo "/usr/lib/ati-fglrx/" > /etc/ld.so.conf.d/ati-fglrx.conf [root@scottt60 ~]# ldconfig
After ldconfig completes, restart X. You can check if you've completed your installation correctly by running fglrxinfo. Your output should look like this:
[scott@scottt60 ~]$ fglrxinfo display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: ATI Mobility Radeon X1400 Generic OpenGL version string: 2.0.6174 (8.31.5)
Congratulations, your video configuration is complete.
To get the touchpad to work right, it is much better to change /etc/X11/xorg.conf. There is quite a bit of information on how to do this scattered over the web, but very little information on why various changes have to be made. (I expect that the changes I made here are not specific to the T60, but would work on most Thinkpads with an UltraNav.)
I ended up crafting my own xorg.conf, which does the job, and produces no (extra) errors or warnings. (Note that the generated xorg.conf is very sparse, and generates warnings due to missing monitors and font directories. These appear to be benign.)
# Xorg configuration created by pyxf86config # modified by pfps for Synaptics touchpad Section "ServerLayout" Identifier "Default Layout" Screen 0 "Screen0" 0 0 InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Mouse0" "CorePointer" InputDevice "TouchPad" "AlwaysCore" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "kbd" Option "XkbModel" "pc105" Option "XkbLayout" "us" EndSection # synaptics touchpad device Section "InputDevice" Identifier "TouchPad" Driver "synaptics" Option "Device" "/dev/input/mouse0" # may not be needed Option "Protocol" "auto-dev" # automatically find device? Option "LeftEdge" "1700" Option "RightEdge" "5300" Option "TopEdge" "1700" Option "BottomEdge" "4200" Option "FingerLow" "25" Option "FingerHigh" "30" Option "MaxTapTime" "0" # turn off tapping Option "MaxTapMove" "220" Option "VertScrollDelta" "100" Option "MinSpeed" "0.09" Option "MaxSpeed" "0.18" Option "AccelFactor" "0.0015" Option "SHMConfig" "on" EndSection # default mouse - handles other pointing devices, including trackpoint Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Device" "/dev/input/mice" Option "Protocol" "Auto" Option "Emulate3Buttons" "no" Option "Buttons" "3" EndSection Section "Device" Identifier "Videocard0" Driver "vesa" EndSection Section "Screen" Identifier "Screen0" Device "Videocard0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 EndSubSection EndSection
Hibernation
Instructions for getting hibernate to work are available at https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=205144
Wireless Networking
Note: The instructions below are for the Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter. Instructions for ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (currently using Madwifi) and ThinkPad 11a/b/g/n Wireless LAN Mini Express Adapter (using ndiswrapper) are available via their respective pages.
To use the T60's built in wireless networking driver, you will need to install ipw3945 driver. The AT-RPMs repository, mentioned earlier in this article, provides the necessary packages. ATRpms does not always keep the older versions, and there will be some delay after a new kernel is released until the required kernel module is available. Patience is appreciated.
If you are running a x86_64 architecture, it is sometimes best to use the ipw3945 instruction guide from sourceforge, ignoring any build errors during make, and start ipw3945d with the modprobe configuration below.
ATRpms has recently made this process very simple. As root:
# yum --enablerepo=atrpms install ipw3945
If you get an error stating "GPG key parsing failed: can't set attribute" then you need to import the key. Do so by
rpm --import http://ATrpms.net/RPM-GPG-KEY.atrpms
If the file /etc/init.d/ipw3945d was created, remove it. The ipw3945d daemon may freeze your computer while booting! Instead add the following lines to your /etc/modprobe.conf file:
install ipw3945 { ( /sbin/modprobe --ignore-install ipw3945; /sbin/ipw3945d ) >/dev/null 2>&1 || : ; } remove ipw3945 { /sbin/ipw3945d --kill >/dev/null 2>&1 || : ; }; /sbin/modprobe --ignore-remove -r ipw3945
Now, type in:
modprobe ipw3945
If everything is okay, you will find an ipw3945d daemon is running and your wifi light on your laptop will start blinking. You can check that ipw3945d is running with the command:
ps -edalf|grep ipw3945
This should show one or more processes running.
Now you are prepared to configure your wifi card by running:
system-config-network
Chances are you will just need to add a new wireless device and activate. Once you know the interface your laptop will assign the wireless card (such as eth0), you may add it to the /etc/modprobe.conf file as follows:
alias eth0 ipw3945
In theory you should be able to select the interface name, but in practice this doesn't seem to work.
I do not recommend automatically activating wireless on boot, but you may do so as a device option with system-config-network.
Infrared (IrDA)
By default, Fedora will make the IR device appear as ttyS2, but the BIOS has the port default to COM2, or ttyS1. Paste this text into /etc/sysconfig/irda:
IRDA=yes DEVICE=/dev/ttyS1 #DONGLE=actisys+ DISCOVERY=yes
Start (or restart) the irda service. Then ensure it starts for your favorite runlevel using either chkconfig or the Service Configuration tool. You can then use irdadump (as root) to confirm your configuration is correct by monitoring port activity when another IR device is near.
External Sources
- This guide is listed at the TuxMobil Linux laptop and notebook installation survey (IBM/Lenovo).