Installing Gentoo on a Thinkpad X60s

From ThinkWiki
Revision as of 14:53, 11 May 2007 by Ra (Talk | contribs) (Fingerprint reader: link)
Jump to: navigation, search

Installation of Gentoo 2006.1 on X60s (models 1704-56G, 1702-E8G)

Summary

What works

What still remains to be fixed

  • Memory card reader
  • Bluetooth

Configuration files

Notes

Suspend to RAM

You need to append the following to the kernel command line in the bootloader configuration for suspend to RAM to work:

acpi_sleep=s3_bios,s3_mode

X60s has some problems with AHCI suspend. Getting suspend to RAM to work required applying the following set of 6 patches to the gentoo-sources-2.6.18-r3 kernel (if you are using a kernel >=2.6.19 applying these patches is not necessary):

Without these, the laptop would otherwise suspend and resume fine, but hangs on the first HDD access attempt after resume due to the hard disk not waking up.

Extra kernel modules

I have installed the following extra kernel module packages from Portage:

  • net-wireless/ieee80211
  • net-wireless/ipw3945
  • app-laptop/thinkpad


Fingerprint reader

To use the integraded fingerprint reader you just need to enable CONFIG_USB_UHCI_HCD and CONFIG_INPUT_EVDEV in the kernel (if it´s not already enabled) and emerge the userspace tool sys-auth/thinkfinger (it´s currently masked, so you may need to add "sys-auth/thinkfinger ~x86" to your /etc/portage/package.keywords)

Installation of Gentoo 2006.0 (minimal install) on X60s (model 1704-69U)

Summary

What works out of the box

  • Not applicable

What needs to be fixed

  • SATA Hard Drive
  • Wireless
  • X.org

What didn't work

  • Processor frequency scaling
  • Suspend to RAM
  • Suspend to disk
  • Sound

Untested

  • Modem
  • SD card reader

Install Considerations for Gentoo 2006.0 (Minimal Install)

  • General: if you don't require suspend, wireless and SMP all working at the same time Gentoo is a fine choice for the x60s. The dual cores speed up compilation time considerably, and most things will work - they just won't necessarily work with each other.
  • You can make a bootable USB thumb by following the howtos at [1] or [2]. Both howtos work with livecd-i686-installer-*.iso and install-x86-minimal-*.iso.
  • In make.conf set MAKEOPTS="-j3" to enable both cores (presuming you have the Intel Core Duo). As for CFLAGS, Intel Core Duo should be "-march=prescott" - see thread here for more details.
  • Minimal install disk does not discover ethernet at typical net.eth0, but net.eth1. This may be because of the firewire port, but either way during install use net.eth1. Once you chroot into your environment, use net.eth0 as usual.
  • Manual kernel installation requires that CONFIG_SCSI_SATA_AHCI be enabled (see here). If you do not enable this, you will receive a "Kernel Panic: VFS Cannot open root device." See that page for a working kernel config.
  • In kernel, processor type should be Core2.
  • In kernel, SMP should be enabled with processor number of 2
  • Main hard disk is at /dev/sda rather than /dev/hda. Only when booting from LiveUSB, the USB thumb is at /dev/sda and the hard disk at /dev/sdb/.
  • Wireless for the Atheros chipset (0000:03:00.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)) can be configured using the drivers available at madwifi.org. Network interface will then be located at ath0.
  • If you have a Intel 3945ABG WLAN chip, just emerge net-wireless/ipw3945.
  • Despite successfully configuring X.org on an x60s using the i810 driver, the combination of X.org 7.0 and the i810 driver refused to start X, giving an error of "No Screen Found." Workaround is configuring X to use the generic VESA driver. This does not offer, however, any acceleration and thus - I'm told - no xGL/AIGLX.
  • When properly configured with DBus / HAL, USB automounting in GNOME worked perfectly.
  • Bluetooth also works properly with the following kernel configuration:
CONFIG_BT=y
CONFIG_BT_L2CAP=y
CONFIG_BT_SCO=y
CONFIG_BT_RFCOMM=y
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=y
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=y
#
# Bluetooth device drivers
#
CONFIG_BT_HCIUSB=y
CONFIG_BT_HCIUSB_SCO=y

What Didn't Work

  • Processor Frequency Scaling: Despite enabling processor frequency scaling in the kernel, both as module and in kernel, was unable to get processor frequency scaling to work correctly.
  • Suspend to RAM / Suspend to Disk: Tried several tacks here. First was going the simple ACPI script route that worked successfully on the x40 - this did not work. Second was to attempt to achieve suspend and hibernate via the kernel, but as of 2.6.16-gentoo-r3, ACPI suspend to disk/RAM are unavailable once SMP is enabled. Last, was to install and configure suspend2 kernel - this did allow for simultaneous suspend and SMP, but also caused problems with the madwifi - modules could not be inserted into the kernel.
  • Sound: snd_hda_intel should have worked, but did not.

Untested

  • Did not bother with modem, SD card reader, IRDA or Firewire

Other Comments

  • Have seen multiple comments indicating high pitch whine when on battery power; this was not experienced.
  • Battery life: insufficent experience, but did tend to be slightly more power hungry than Windows

Weblinks