Home / About / Gentoo Linux on a Thinkpad X61s

Installation Notes

Gentoo Linux on a Thinkpad X61s

Here is a record of my steps taken to install and configure Gentoo Linux on a Thinkpad X61s, Intel Core2 Duo CPU @ 1.80 Ghz, as well as some general tweaks to make life a little nicer using GNU/Linux. I currently run openbox as my window manager, I no longer use a light KDE install and instead use only openbox with pcmanfm as my filemanager. Collected from various online sources, I find it helpful to have this consolidated at one location.

X61s Tech Specs (PDF 255KB)

Booting off USB drive using Puppy Linux

Originally I booted over the network as listed below, but I have recently reinstalled and just booted off a USB driving running Puppy Linux. Once Puppy Linux is running, procede with install as per Gentoo Handbook

Booting over the Network

Since the X61s does not have an optical drive, I installed over the network using a bootable:
Live Knoppix system on CD.

PXE (PXE stands for 'Preboot Execution Environment') quick howto using Knoppix linux.
  • Start Knoppix live CD on computer one
  • Start knoppix-terminalserver on computer one
  • Boot Thinkpad, enter BIOS (F12), and change 1st boot device to PCI Lan: IBA GE Slot 00CB
  • Thinkpad will now boot over the network
  • Once Knoppix is running, procede with install as per Gentoo Handbook


Kernel module iwlagn works out-of-the-box. I now use WICD to control my networking running as a service on boot. On my desktop I run wicd-client which is handy as a small applet in the dock as can be seen in the screenshots below.

Baselayout and OpenRC Migration Guide

I updated the Baselayout and OpenRC using the Baselayout and OpenRC Migration Guide
This decreased my start up time from 39.6 seconds to 26.4 seconds.

CPU Frequency

Works out-of-the-box, but I had to manually load the module acpi-cpufreq by listing the module in /etc/modules.autoload.d/kernel-2.6

Power Management

I followed the Gentoo Power Management guide.

To make suspend to ram work add "acpi_sleep=s3_bios" to the kernel command line in grub configuration.

To stop power drain during suspend to disk place the following command in /etc/conf.d/local.start
echo "shutdown" > /sys/power/disk

Here are the two scripts I use for the acpi event of closing the lid.

Located here /etc/acpi/events/lid
event=button/lid action=/etc/acpi/actions/suspend.sh %e

Located here /etc/acpi/actions/suspend.sh
#!/bin/sh # if launched through a lid event and lid is open, do nothing echo "$1" | grep "button/lid" && grep -q open /proc/acpi/button/lid/LID/state && exit 0 # stop wifi /etc/init.d/net.wlan0 stop # remove wifi module rmmod iwl4965 # go to sleep sleep 3 && echo -n "mem" > /sys/power/state # reload wifi module modprobe iwl4965 sleep 1 # restart the wifi /etc/init.d/net.wlan0 stop && iwconfig wlan0 txpower on && /etc/init.d/net.wlan0 start for i in `echo /sys/bus/pci/drivers/iwl4965/*/power_level`; do echo 5 > $i done

Sound and Volume Buttons

Using alsa and amixer, I could not get the volume hardware buttons to work. My solution to get the hardware volume up, down, and mute buttons to function is to use xhkeys, with the following commands:
amixer set PCM 3db+
amixer set PCM 3db-

Use xhkconf for configuration.

Secure Digital Card Reader

Works out-of-the-box and automounts using Hal and Dbus, or can be manually mounted at /dev/mmcblk0p1

Desktop Beautification

Screenshot #1 (minimal)
Screenshot #2 (with conky)

Get your fonts looking nice:
Gentoo: HOWTO Xorg and Fonts

conkyrc file

Openbox Theme:
openbox theme called Steel

Openbox Menu:
Openbox XML menu file

SSH Filesystem

I now mount network drives over ssh, rather than samba.
emerge sys-fs/fuse

modprobe fuse to mount:
sshfs user@host:/dir/mount/point/ /local/mount/point/
to unmount:
fusermount -u /local/mount/point/

lspci Output

00:00.0 Host bridge: Intel Corporation Mobile Memory Controller Hub (rev 0c) 00:02.0 VGA compatible controller: Intel Corporation Mobile Integrated Graphics Controller (rev 0c) 00:02.1 Display controller: Intel Corporation Mobile 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: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.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 Mobile LPC Interface Controller (rev 03) 00:1f.1 IDE interface: Intel Corporation Mobile IDE Controller (rev 03) 00:1f.2 SATA controller: Intel Corporation Mobile 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 Unknown device 4230 (rev 61) 05:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ba) 05:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 04) 05:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)


# Please consult /etc/make.conf.example for a more detailed example. CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" # WARNING: Changing your CHOST is not something that should be done lightly. # Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing. CHOST="i686-pc-linux-gnu" LDFLAGS="-Wl,-O1 -Wl,-as-needed" # MAKEOPTS="-j3" # # # USE="cdparanoia css dvdnav v4l v4l2 a52 aac -abiword acpi alsa apache2 \ ati avi aim bash-completion bluetooth bzip2 cairo cdparanoia cddb \ cjk cups dbus encode -esd -eds fame flac flash ftp ffmpeg freetype \ gif gimp glibc -omitfp -gnome -gphoto2 gstreamer gtk gtk2 hal history \ icq ieee1394 imagemagick imap ipod jabber -java javascript jpeg laptop \ libg++ lm_sensers libwww libnotify mime mmx mad mozilla mp3 mpeg mbox \ maildir mysql ncurses nptlonly nsplugin ogg oggvorbis opengl oscar oss \ otr pcmcia pam pdf perl php pmu posix png ppds quicktime samba spell \ symlink sse ssl sse2 svg sysfs tiff trayicon truetype unicode usb vim vim-syntax \ vhosts vorbis wifi win32codecs X xine xml xml2 xpm xvid yahoo \ -arts -fortran -joystick -kde -motif -htdocs -esound -qt3 -qt4 \ -berkdb xcomposite xinerama xulrunner" # INPUT_DEVICES="keyboard mouse evdev" VIDEO_CARDS="i915 vesa intel" FRITZCAPI_CARDS="fcpcmcia" FEATURES="parallel-fetch ccache" SYNC="rsync://rsync.gentoo.org/gentoo-portage" GENTOO_MIRRORS="http://gentoo.cites.uiuc.edu/pub/gentoo/" # Portage # # NICENESS sets system priority. 10 is a reasonable value. PORTAGE_TMPDIR=/var/tmp PORTDIR=/usr/portage PORT_LOGDIR=/var/log/portage PORTAGE_NICENESS=10 AUTOCLEAN="yes" PORTDIR_OVERLAY=/usr/local/portage # # #FEATURES="distlocks userpriv sandbox" #FEATURES="ccache" CCACHE_DIR="/var/tmp/ccache/" CCACHE_SIZE="2G" # Needed form some applications including Open-Office: LINGUAS="en" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias"

Kernel Config

Here is my config file for kernel 2.6.28-gentoo.r5

X11 Config

Here is my xorg.conf

Bluetooth Compact Flash Card

  • Bluetooth Compact Flash card in PCMCIA adapter, works using the Gentoo Bluetooth Guide

  • Resources

    (thanks to these very helpful resources)

    Last updated on 06/18/09