Lenovo ThinkPad X61T
From ArchWiki
Contents
|
Installation
As the x61t is a Core 2 Duo, i'm going to install Arch x86_64 on it.
Preparation of machine for linux installation
- make backup of 1st primary partition if possible. this is the recovery tools from lenovo/ibm - do not remove it... with grub you can later set it to be accessible!
- resize NTFS parition with MS Windows Vista or remove it completely from drive ... make space at the end of harddrive for Arch Linux (in my case 80gb harddrive 24gb linux / and /home)
No optical drive installation
As i do not have an optical drive and the x61t has no optical drive itself, the installation was done from an external usb-storage device (harddrive or usb-key).
Preferred method, IMG files
Since Arch Linux release 2008.06 Arch Linux has provided USB images. If you want to install Arch from an older ISO image please refer to Deprecated/Old method, ISO files
Download Arch's latest installation img from your local mirror. Insert an empty or expendable USB stick and determine its path. Then dd the .img to the USB stick like this:
dd if=archlinux-2008.06-[core_or_ftp]-i686.img of=/dev/sdx
where if= is the path to the img file and of= is your USB device. Make sure to use /dev/sdx and not /dev/sdx1.
Continue with Boot USB harddrive on thinkpad x61t
Deprecated/Old method, ISO files
Preparation of Installation medium
- Requirements
- packages: util-linux (provides cfdisk), syslinux, dosfstools (provides mkdosfs)
- running Arch Linux on a machine to prepare installation medium
- access to internet
- use cfdisk to create a primary FAT16 Partition (type=0c) on the usb stick and make it bootable
- use
mkdosfs /dev/sdXY
to create a file system on the partition and then mount it
mount -t msdos /dev/sdXY /media/installharddrive
- download Arch Linux installation ISO base from internet and mount it locally:
mount -t iso9660 -o loop /path/to/archlinux.iso /media/iso
- copy content from ISO to the installation harddrive:
cp -ra /media/iso/* /media/installharddrive
and copy isolinux files to root of partition:
cp /media/installharddrive/isolinux/* /media/installharddrive/
then rename isolinux.cfg to syslinux.cfg
mv /media/installharddrive/isolinux.cfg /media/installharddrive/syslinux.cfg
- unmount installation harddisk
- install syslinux to partition
syslinux -s /dev/sdXY
Boot USB harddrive on thinkpad x61t
Press F12 on the keyboard when you see the Thinkpad logo post screen. Then select the USB key from menu.
proceed with installation as you wish
see for details Official_Arch_Linux_Install_Guide
notes on installing the bootloader
As bootloader i have choosen grub. to be able to boot the MS windows paritition as well as the recovery partition of lenovo, i have specified the following sections for grub (/boot/grub/menu.lst):
# Arch Linux title Arch Linux root (hd0,2) kernel /boot/vmlinuz26 root=/dev/sda3 ro vga=792 quiet initrd /boot/kernel26.img
# Arch Linux emergency title Arch Linux Fallback root (hd0,2) kernel /boot/vmlinuz26 root=/dev/sda3 ro initrd /boot/kernel26-fallback.img
# booting "Rescue and Recovery" partition from Lenovo title Thinkpad Maintenance unhide (hd0,0) rootnoverify (hd0,0) chainloader +1
# Vista title Thinkpad Windows Vista hide (hd0,0) rootnoverify (hd0,1) chainloader +1
assuming that /dev/sda1 is rescue and recovery from lenovo /dev/sda2 is MS windows /dev/sda3 is Arch
Specific Hardware Setup
Sound
works out of the box - following modules were loaded automatically
[damir@Apollon Arch]$ lsmod | grep snd snd_seq_oss 32896 0 snd_seq_midi_event 7808 1 snd_seq_oss snd_seq 55680 4 snd_seq_oss,snd_seq_midi_event snd_seq_device 7956 2 snd_seq_oss,snd_seq snd_hda_intel 347940 4 snd_pcm_oss 44576 0 snd_pcm 82568 3 snd_hda_intel,snd_pcm_oss snd_timer 22536 3 snd_seq,snd_pcm snd_page_alloc 8720 2 snd_hda_intel,snd_pcm snd_mixer_oss 16896 1 snd_pcm_oss snd 57064 14 snd_seq_oss,snd_seq,snd_seq_device,snd_hda_intel,snd_pcm_oss,snd_pcm,snd_timer,snd_mixer_oss soundcore 7968 1 snd
Ethernet
works out of the box - autoloaded module: e1000
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection e1000: eth0: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX/TX e1000: eth0: e1000_watchdog: 10/100 speed: disabling TSO
Firewire
works out of the box
USB
works out of the box
Power Management
suspend machine
pm-suspend
works (keyboard, mouse, stylus, sound, network) with one detail: when in X, the display lamp is not turned on. workaround: ctrl-alt-f1 to switch to vesa frame buffer turns the lamp on and when switching back to ctrl-alt-f7 the X has then the lamp turned on as well. no idea why this happens.
Wireless network device
get packages
pacman -S iwlwifi iwlwifi-4965-ucode
arch loads the module
iwl4965
and wireless works fine
Xorg
- works with xf86-video-intel
- does NOT work with xf86-video-i810
- generate xorg.conf with
X -configure
the xorg.conf i'm using can be found here Thinkpad x61t SXGA+ xorg.conf
Stylus
Is a wacom on serial. install from AUR linuxwacom then add to xorg.conf
InputDevice "stylus" "SendCoreEvents" InputDevice "eraser" "SendCoreEvents" InputDevice "cursor" "SendCoreEvents" InputDevice "touch" "SendCoreEvents"
to ServerLayout
and
Section "InputDevice" Driver "wacom" Identifier "stylus" Option "Device" "/dev/ttyS0" # SERIAL ONLY Option "Type" "stylus" Option "ForceDevice" "ISDV4" # Tablet PC ONLY EndSection Section "InputDevice" Driver "wacom" Identifier "eraser" Option "Device" "/dev/ttyS0" # SERIAL ONLY Option "Type" "eraser" Option "ForceDevice" "ISDV4" # Tablet PC ONLY EndSection Section "InputDevice" Driver "wacom" Identifier "cursor" Option "Device" "/dev/ttyS0" # SERIAL ONLY Option "Type" "cursor" Option "ForceDevice" "ISDV4" # Tablet PC ONLY EndSection Section "InputDevice" Identifier "touch" Driver "wacom" Option "Device" "/dev/ttyS0" # SERIAL ONLY Option "Type" "touch" Option "ForceDevice" "ISDV4" # Tablet PC ONLY Option "BottomX" "915" # Must set to enable the hole Option "BottomY" "950" # screen as a touch screen. Option "TopX" "48" # Without them there is a margin Option "TopY" "79" # of two cm around the edge without input EndSection
and it works. However please note that the multitouch support is not perfect...
Xorg log tells a little bit more info:
(==) Wacom General ISDV4 tablet speed=9600 maxX=24576 maxY=18432 maxZ=255 resX=2540 resY=2540 tilt=disabled (==) Wacom device "cursor" top X=0 top Y=0 bottom X=24576 bottom Y=18432 (==) Wacom device "eraser" top X=0 top Y=0 bottom X=24576 bottom Y=18432 (==) Wacom device "stylus" top X=0 top Y=0 bottom X=24576 bottom Y=18432
so this device has 255 sensitivity steps and has a resolution of 2540 x 2540 it tells you also that the screen size is 245.76 mm times 184.32 mm big. if in xorg.conf the DisplaySize is not set by X -configure, you can add the following line in the Monitor section:
DisplaySize 245 185
this helps some apps to determine the resolution of your monitor ("dpi value") and set the sizes of objects or fonts right (e.g. in the 1:1 mode where something printed should equal something seen on the display)
AUTOMATIC ROTATION (added by bbs) -- for automatic rotation consider the script found here -- thanks to Luke -- this script works well.
please note you must update your handler.sh for the acpi events to properly call this script -- contact unk.nown [at] unix [dot] net -- if you have any questions
Trackpoint
Press to Select
Press to Select allows you to tap the control stick which will simulate a left click. You can enable this feature by typing the following in to a terminal (you may need to be root):
echo -n 1 > /sys/devices/platform/i8042/serio1/press_to_select
If you want to enable Press to Select at boot then add the previuos line to /etc/rc.local.
Disable it in a similar manner:
echo -n 0 > /sys/devices/platform/i8042/serio1/press_to_select
Scrolling
With the advent of hotplug enabled Xorg configuration for input devices should be done in HAL config files.
To get the scroll on middle button + trackpoint to work (in all four directions), create /etc/hal/fdi/policy/10-mouse.fdi
with following content:
<match key="info.product" string="TPPS/2 IBM TrackPoint"> <merge key="input.x11_options.EmulateWheel" type="string">true</merge> <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge> <merge key="input.x11_options.YAxisMapping" type="string">4 5</merge> <merge key="input.x11_options.XAxisMapping" type="string">6 7</merge> <merge key="input.x11_options.Emulate3Buttons" type="string">false</merge> <merge key="input.x11_options.EmulateWheelTimeout" type="string">200</merge> </match>
You will need to restart HAL and then Xorg. To check if the config is in place you can use this command:
hal-device | grep -A 15 i8042_i8042_AUX_port_logical
Notes
Sensitivity & Speed
Adjusting the speed and sensitivity of the TrackPoint requires echoing a value between 0 and 255 into the appropriate file. For example, for a speed of 120 and a sensitivity of 250, type the following into a terminal:
echo -n 120 > /sys/devices/platform/i8042/serio0/serio2/speed echo -n 250 > /sys/devices/platform/i8042/serio0/serio2/sensitivity
SD card reader
Works out of the box.
sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman sdhci: SDHCI controller found at 0000:05:00.2 [1180:0822] (rev 21)
Device is located at:
/dev/mmcblk0
Fingerprint Reader
USB ID 0483:2016
Works fine with the ThinkFinger binary drivers version 0.3. i will include the thinkfinger pkg in [extra].
CPU Freqency Scaling
Install the package cpufrequtils, add cpufreq to DAEMONS, add acpi_cpufreq to MODULES in /etc/rc.conf and put these lines in your /etc/rc.local:
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq cat /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
This will enable ondemand frequency scaling on both cores.
Bluetooth
Works after following Bluetooth page. (If you have this option installed)
#lsusb Bus 003 Device 002: ID 0a5c.2110 Broadcom Corp. Bluetooth Controller
To deactivate bluetooth:
echo 0 > /sys/devices/platform/thinkpad_acpi/bluetooth_enable
or to enable:
echo 1 > /sys/devices/platform/thinkpad_acpi/bluetooth_enable
to be continued
i'm working on this document - that's why it is marked still as stub!