Installing Debian Sid (October 2008) on a ThinkPad X200

From ThinkWiki
Revision as of 15:10, 29 October 2008 by Rdemaria (Talk | contribs) (Suspend)
Jump to: navigation, search

Introduction

Amazing machine: light, quiet, large battery life, ideal for travels, great value for money compared to X200T and X300.


Creating installation device

The X200 has no cd/dvd but can boot from USB. On the X200 BIOS settings, the USB disk boot option needed to be raised to be used first. Using F1 at boot gives access to the BIOS.

I created an USB bootable iso from another linux installation. I had an usb stick with a FAT32 partition on /dev/sdc1. I dowloaded the boot and iso file and installed the image using:

 wget http://people.debian.org/~joeyh/d-i/images/daily/hd-media/boot.img.gz
 wget http://cdimage.debian.org/cdimage/daily-builds/daily/arch-latest/i386/iso-cd/debian-testing-i386-netinst.iso
 zcat boot.img.gz >/dev/sdc1
 mkdir /mnt/sdc1
 mount /dev/sdc1 /mnt/sdc1
 cp debian-testing-i386-netinst.iso /mnt/sdc1

The boot stick will use the network to install the package but a more complete ISO image can be dowloaded.

The wifi will not work (see Installing_Debian_on_an_X200) but the Ethernet card will. In theory it should be possible build custom Debian Live USB stick, using the latest package and install from there, I didn't manage so far. Bold text

Sid installation

To install sid use the expert installation support and choose unstable for the repository.


Backup hard drive data

In order to save the hard drive content, I created complete hard drive image on another hard disk. During the installation procedure I activated another shell with CTRL-ALT-F3, mounted an external HD (/dev/sdb1) and copied the image with:

 mkdir /mnt/sdb1
 mount /dev/sdb1 /mnt/sdb1/
 dd if=/dev/sda of=/mnt/sdb1/sda-image

In principle partimage is better option but the installation image does not have it. Also gzipping the partition on the fly would have bin better, but the gzip or bzip2 were not present. Using a custom Debian Live installation image would solve the problem.

Video

Video driver 2:2.3.2-2+lenny5 is not stable enough. Video get garbled from time to time. Vesa driver is fast enough for me.

Wifi

Put in the /etc/apt/source.list

 deb http://kernel-archive.buildserver.net/debian-kernel trunk main 

Installed linux-image-2.6.27-1 and firmware

 wget http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-5000-ucode-5.4.A.11.tar.gz
 tar xvfz iwlwifi-5000-ucode-5.4.A.11.tar.gz
 cp  iwlwifi-5000-ucode-5.4.A.11/iwlwifi-5000-1.ucode /lib/firmware
 aptitude install linux-image-2.6.27-1-686 hal

Suspend

Suspend to disk works using the button Fn+F12.

Suspend to ram (Fn+F4) does not work with intel driver. Using vesa driver suspend works.

The trackpoint occasionally stops working after a resume. Apparently it is enough to move it a little bit during the resuming process.

Special keys

Some keys are intercepted by X Windows. The keycodes are

 227 Fn
 234 Tab left
 233 Tab right
 176 Volume up
 174 Volume dn


Mute switch the hardware volume which is not controlled by ALSA.

ACPI links suspend to ram and to disc to Fn+F4 and Fn+F12 respectively. Screen brightness and thinklight works as well.

Sound

Everything works, but in a strange way. The hardware volume control is managed by acpi

 $ cat /proc/acpi/ibm/volume
 level:          8
 mute:           off
 commands:       up, down, mute
 commands:       level <level> (<level> is 0-15)

The mute button is linked to the mute command, but volume up and down are passed to X with keycode 176 174. I thought that acpi was intercepting the key and send them to X using fakekey. I played in /etc/acpi/events but I didn't managed to change behavior.

Skype

Everything works downloading the version for Etch. After suspending to disk the video does not work anymore. The error message is:

 Skype V4L2: Could not find a suitable capture format

Apparently using the vesa driver for xorg solve the problem...

Firefox

The menu fonts were way too large. I created a file in .mozilla/firefox/<random>.default/chrome/userChrome.css something like:

 * {
  font-size: 8pt !important
 }

TO BE CONTINUED