Installing Fedora Core 6 on a ThinkPad T60

From ThinkWiki
Revision as of 21:36, 22 November 2006 by Wehe (Talk | contribs) (added external links section)
Jump to: navigation, search


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.

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 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.
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
  • Suspend to Disk / Hibernate

Post Install

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.

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.

Installing the new kernel can be done by various methods as documented on the Red Hat Bugzilla bug. However, the safest method is to use yum to do the kernel swap.

To swap kernels:

  1. Open up a terminal window are become root.
  2. Execute: yum remove kernel
  3. 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.
  4. Install the kernel.i686 package and any other packages removed in the previous step.
  5. Fix your Grub configuration
  6. 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.

Again 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

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 repositories to your machine.

  • AFAIK livna does not support mixing its repository with other sources than Fedora Core and Fedora Extras, so try adding software just from one repo.
Enabling Livna's Repository
As root, rpm -ivh .
Enabling AT-RPMs Repository
As root, use your favorite editor to create /etc/yum.repos.d/atrpms.repo and type in:
name=Fedora Core $releasever - $basearch - ATrpms

ATi Video Driver (fglrx)

Installing the fglrx driver is easy if you've enabled the RPM repository as discribed earlier in this article. Unfortunately, the proprietary ATi driver currently does not support desktop effects or composite rendering used be 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"

Section "Extensions"
        Option "Composite" "Disable"

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/
[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.

Wireless Networking

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. As root:

# yum install ipw3945d ipw3945-ucode ipw3945-kmdl-2.6.18-1.2798.fc6.i686

Once installed, you must add a startup script to have ipw3945d started at boot. Create the following script in a file named /etc/init.d/ipw3945d

#! /bin/bash
# ipw3490d      Load / unload Intel ipw3490 daemon
# chkconfig: 2345 09 90
# description:  Load / unload Intel ipw3490 daemon
# Provides: ipw3490d

# Source function library.
. /etc/init.d/functions

if [ ! -f /etc/sysconfig/network ]; then
    exit 0

case "$1" in
        echo -n "Starting ipw3945d: "
        /sbin/ipw3945d > /dev/null 2>&1
        echo -n "Stopping ipw3945d: "
        killproc ipw3945d
        status ipw3945d
        cd "$CWD"
        $0 stop
        $0 start
        echo $"Usage: $0 {start|stop|restart|status}"
        exit 1

exit 0

Now, make it executable and add the script with chkconfig to be started on boot:

# chmod 750 /etc/init.d/ipw3945d
# chkconfig --add ipw3945d

Make sure things are setup correctly by running chkconfig --list ipw345d. Your output should look something like:

# chkconfig --list ipw3945d
ipw3945d        0:off   1:off   2:on    3:on    4:on    5:on    6:off

If everything looks okay, reboot. Once restarted you should be able to run ifconfig eth1 and see information about your wireless card.

External Sources