Installing Fedora 8 on a ThinkPad T61

From ThinkWiki
Jump to: navigation, search

Fedora 8 on Thinkpad T61

I got my Thinkpad T61 November 7. Fedora 8 was released on November 8. Sounds to me like they were destined to work together.

I also want to give special thanks for the Fedora 7 installation notes. They were very helpful.

Summary

Here's a brief intro into what works and what doesn't. As I fix things, I'll update this page.

Component Status
Processor Works
Memory Works
Hard disk Works, check bug 382061
Graphics Works (partially)
Audio Works (partially)
PC card Slot (PCMCIA)  ?
Express Card Slot  ?
Trackpoint Mostly Works
Touchpad Works
Bluetooth Works
WiFi Works
Ethernet Works
Firewire  ?
USB Works
Fingerprint Reader Works
Suspend to RAM Mostly Broken/Works after updating
Suspend to Disk Works

Info

Some useful info:

[root@nova ~]# /sbin/lspci 
00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 0c)
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)
00:19.0 Ethernet controller: Intel Corporation 82566MM Gigabit Network Connection (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Contoller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 4 (rev 03)
00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
00:1f.0 ISA bridge: Intel Corporation 82801HBM (ICH8M-E) LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)
03:00.0 Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN Network Connection (rev 61)
15:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ba)
15:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 04)

Preparation

Partially because this is a laptop for an office with a mostly Windows IT crowd, and partially because I'm chicken, I changed the default installation as little as possible. This setup will use the pre-installed Lenovo/Windows bootloader which chain-loads into Fedora 8.

I downloaded and burned a DVD for Fedora 8 x86_64. (The process for an i386 install should be identical.) I also burned a Knoppix 5.1.1 live CD.

Note: On some systems the F8 x86_64 installation CD will fail to continue after checking media.(It is right before probing video cards) Adding nopcmcia to kernel boot parameters can solve the problem. F9 Alpha doesn't suffer from this problem. The respined F8 at fedoraunity is also said not suffering from the problem; but no one confirms yet.

Backup

First, I made a full backup to a USB drive using IBM's Rescue and Recovery tool. I made the USB drive bootable for easier recovery; just in case things went very wrong.

Making Room

Next, I booted into Knoppix and started qtparted. I resized the NTFS partition to something more reasonable for the light usage it will get with me (~35 GB).

  • From a Konsole:
    1. xhost +localhost
    2. su -
    3. qtparted
  • In qtparted
    1. on the left, select /dev/sda
    2. in the browser on the top right, right click on /dev/sda1 and select Resize
      • You'll want to create a test ext3 partition to check for gaps. It's likely the size you choose will create a small gap between the NTFS partition and your Linux partitions. These gaps should be small, so you can ignore if you want.

Reboot into Windows and let it scan the newly shrunk disk for errors.

Installation

Boot the Fedora 8 installation CD. For most screens, you can go with defaults or decide for yourself what you want. Note the caveats below if you have an NVIDIA graphics card.

  • Partitioning
    1. I selected 'User free space on selected drives and create default layout'. I also selected 'Review and modify partitioning layout', but didn't change the defaults.
  • Bootloader
    1. Select 'The GRUB boot loader will be installed on /dev/sda.'
    2. Select 'Configure advanced boot loader options'
      • On the next screen, for 'Install Boot Loader record on:' select '/dev/sda3 First sector of boot partition'

Chainloading from Windows

To get the Lenovo/Windows bootloader to chainload into Window, I booted into Knoppix again. I used dd to capture the bootloader from /dev/sda3, placed that file on the NTFS filesystem, and configured boot.ini to chain load into this boot sector.

  • From a Konsole:
    1. su -
    2. dd if=/dev/sda3 of=bootpart-t61.f8 bs=512 count=1
    3. Copy this file somewhere that's accessible from Windows (flash drive, FTP server, SSH server, etc.)
  • Reboot into Windows
    1. Copy bootpart-t61.f8 to C:\
    2. Edit boot.ini; append the following line: C:\bootpart-t61.f8="Fedora"

Reboot. You should have 30 seconds in which to chose to boot into Fedora. Congratulations :-)

Making it work

For the first-boot configuration, I opened up the Samba ports in the firewall, and left SELinux as Enforcing. I also enabled NTP. All pretty standard.

Processor

Works out of the box. Both processors appear functional. Either hyperthreading no longer doubles the number of apparent cores, or it's not working. Windows Task Manager also only shows two cores.

As a point of reference, a make defconfig bzImage on the 2.6.23.1 kernel takes a bit under a minute and a half.  :-)

Memory

Works out of the box. All 2GB available and functional.

Hard disk

Works out of the box. Thankfully the issues with Fedora 7 requiring the use of 'compatibility mode' have been resolved.

Please check bug 382061 for info on LoadCycle problem

Graphics

  • Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller

Mostly works out of the box. It autodetected the built-in LCD as being 1280x800, and works fine. It autodetects my external monitor's proper resolution. After a minor change to xorg.conf, I was able to use xrandr to configure an extended display. Configuration via system-config-display never worked.

Add the following line to section Screen, subsection Display:

Virtual 3200 1200

After which, the following commands will cause extended display on the two extenal monitors, with DVI to the left of VGA.

$ xrandr --output LVDS --off
$ xrandr --output TMDS-1 --auto
$ xrandr --output VGA --auto
$ xrandr --output TMDS-1 --left-of VGA

See intellinuxgraphics.org for more details. My xorg.conf is below.

I have not tried any 3D rendering.

  • NVIDIA Quadro NVS 140m

Perform initial install using text-mode or vnc mode. Installation via vnc is necessary to configure LVM. After booting for the first time into runlevel 3, install the livna repository and NVIDIA binary kernel module or install the driver using the NVIDIA installation package.

32-bit:

$ rpm -ivh http://rpm.livna.org/livna-release-8.rpm
$ yum install kmod-nvidia
$ /usr/sbin/nvidia-config-display enable

64-bit:

$ rpm -ivh http://rpm.livna.org/livna-release-8.rpm
$ yum install kmod-nvidia xorg-x11-drv-nvidia-32bit
$ /usr/sbin/nvidia-config-display enable

Currently running Compiz-Fusion with no problems. Livna does not currently have NVIDIA kernel module rpms for Xen kernels.

Note: the brightness control fails on kernel-2.6.23.1-42, due to a problem in kernel module acpi/video.ko.

  • If you blacklist video.ko and ask thinkpad-acpi to manage the brightness, Fn-keys don't work but brightness control by software works.
  • If you don't blacklist video.ko and ask thinkpad-acpi to manage the brightness, Fn-keys sometimes works but it will splash to highest brightness whenever you make a change.

The method to blacklist 'video' is to add a line in /etc/modprobe/blacklist blacklist video The method to ask thinkpad-acpi managing brightness is to add a line in /etc/modprobe.conf options thinkpad-acpi brightness_enable=1 The line in my box is options thinkpad-acpi brightness_enable=1 hotkey_report_mode=2

Audio

Intel Corporation 82801H (ICH8 Family) HD Audio Controller

Mostly works. The system sounds (menu clicks, echo -en '\a', etc.) don't function. However the test buttons on the gnome-sound-properties panel functions and CD's play as expected.

A note: If you use an external usb sound card, you have to edit /etc/modprobe.conf to avoid confusing gnome-power-manager. Or else it will try to control the volume of the external usb sound card if you plug the usb sound card in:

alias snd-card-0 snd-hda-intel alias snd-card-1 snd-usb-audio

options snd cards_limit=3

options snd-card-0 index=0 options snd-hda-intel index=0 power_save=5

options snd-usb-audio index=1 options snd-card=1 index=1

PC card Slot (PCMCIA)

Have not tried.

Express Card Slot

Have not tried.

Trackpoint

Mostly works out of the box. The middle auto-scroll button actually works as a middle-click, which is fine by me.

Touchpad

Works out of the box. Even tap and double-tap work for click. However it doesn't have the seem to have to sort of sensitivity threshold the Lenovo Windows driver has, so it will register an occasional erroneous tap as you bump it using the keyboard.

Bluetooth

Just works. Ensure your bluetooth daemon is running (service bluetooth status) and you have Bluetooth/WiFi turned on with notebook's switch.

WiFi

  • Intel Corporation PRO/Wireless 4965 AG or AGN

Mostly works out of the box. The wireless icon LED below the screen does not illuminate. The default Fedora 8 configuration isn't exactly ideal, especially for someone who wants configuration to be simple and secure. The basically required manually starting up the NetworkManager daemons, logging out and logging back in. Network will now appear in the notification area, and you can left click to access available wireless networks.

As root, enable the NetworkManager services to run at system startup:

  1. chkconfig NetworkManager on
  2. chkconfig NetworkManagerDispatcher on

You can then either reboot, or start manually:

  1. service NetworkManager start
  2. service NetworkManagerDispatcher start
  3. I think you'll have to log out and log back in; possibly manually startup nm-applet

I've gotten the wifi to work for an open network, and for WPA with passphrase. Using NetworkManager for a secure network will use the Gnome Keyring, which may require some care and feeding if you want it to work smoothly. Click here for more details.

  • Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)

I have to goto livna and install madwifi. Hopefully in the future madwifi team will announce a completely free driver.

Ethernet

Works out of the box.

Firewire

Have not tried.

USB

Works out of the box. I've tried a USB thumb drive, USB disk drive and a USB mouse.


Fingerprint Reader

Working.

# yum install thinkfinger

Later edit /etc/pam.d/system-auth (see /usr/share/doc/thinkfinger-0.3/README.Fedora)

And modify file. Look just like this (order is very important):

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth    required        pam_env.so
auth    sufficient      pam_thinkfinger.so
auth    sufficient      pam_unix.so nullok try_first_pass
auth    requisite       pam_succeed_if.so uid >= 500 quiet
auth    required        pam_deny.so

Later execute tf-tool for add fingerprint.

# /usr/sbin/tf-tool --add-user user_name

ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/)
Copyright (C) 2006, 2007 Timo Hoenig <thoenig@suse.de>
Initializing... done.
Please swipe your finger (successful swipes 3/3, failed swipes: 0)... done.
Storing data (/etc/pam_thinkfinger/user_name.bir)... done.
Setting ACL on aquired file: /etc/pam_thinkfinger/user_name.bir.

Suspend to RAM

Mostly broken. I used the 'Suspend' button on the Gnome System->Shut Down... menu. The laptop did suspend, and went into low power mode. However, on recovery the screen was so dim that I could barely tell that it was on. Switching to virtual console 1 (Ctrl-Alt-F1) results in a solid blue screen. Switching back to the X virtual console (Ctrl-Alt-F7) results in a normal display.

This should work with updated Fedora (maybe updated hal-info package is enough). In case this do not work for you, please go ahead and help to fix it: HAL Suspend Quirks - it is really easy!

Note: If you experience an immediate resume after suspend(kernel-2.6.23.1-42), try add this to

  1. cat /etc/pm/config.d/unload_modules

SUSPEND_MODULES="ehci_hcd ohci_hdc"

Suspend to Disk

Works out of the box. I used the 'Hibernate' option on the Gnome System->Shut Down... menu. It took longer than expected to hibernate, and longer than expected to come out of hibernation. And once restored, it took a minute or two for the wireless to kick back in.

Appendix

xorg.conf

My xorg.conf. Allows dual-head on two 1600x1200 monitors. Also allows synclient TouchpadOff=1.

# Xorg configuration created by system-config-display

Section "ServerLayout"
        Identifier     "single head configuration"
        Screen      0  "Screen0" 0 0
        InputDevice    "Keyboard0" "CoreKeyboard"
        InputDevice    "Synaptics" "CorePointer"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "us+inet"
EndSection

Section "InputDevice"
        Identifier  "Synaptics"
        Driver      "synaptics"
        Option      "Device" "/dev/input/mice"
        Option      "Protocol" "auto-dev"
        Option      "Emulate3Buttons" "yes"
        Option      "SHMConfig" "on"
EndSection

Section "Device"
        Identifier  "Videocard0"
        Driver      "intel"
EndSection

Section "Monitor"
        Identifier      "Monitor0"
        Option          "DPMS"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        Monitor    "Monitor0"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes    "1600x1200" "1600x1024" "1440x900" "1400x1050" "1360x768" "1280x1024" "1280x960" "1280x800" "1280x720" "1152x864" "1024x768" "800x600" "640x480"
                Virtual 3200 1200
        EndSubSection
EndSection