Installation of Debian Testing (Etch) on a Lenovo Thinkpad T60
French Version
Posted on
Tuxmobil.org
Note: this page is in progress ...
System Configuration
Processor: Intel Core Duo T2400 1.83 Ghz
Graphic Card: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller
Wifi: Intel PRO/Wireless 3945ABG
Hard-Drive: SATA 100G 7200 rpm
Things that work
-- Symmetrical Multi Processing + Dynamic Frequency Scaling
-- Ethernet card
-- 3D acceleration (some tweaking involved)
-- wifi (some tweaking involved)
-- modem (some tweking involved)
-- bluetooth (I assume it works)
Things that don't work
-- Increase resolution with the 915resolution utility. This did not work for me. It seems a new driver for the video card is in development that will not care about the BIOS limitations, but for now I am stuck at 1024x768 :(
Things that I haven't done (yet)
-- suspend to disk / to ram
-- fingerprint reader
Installation of the base system
Partitioning the hard drive:
I used
System-Rescue-CD to partition the hardrive with the QTparted utility. It involved: resizing the NTFS partition, deleting the recovery partition (after creating recovery discs !) and splitting the free space for linux. The latter is a matter of taste, so I am not giving more details.
Installing the base system:
The Beta 2 version of the
debian-installer did not work for me (the ethernet card was not recognized, which is a problem for a net-install :). I used the nightly build, and it worked like a charm.
Changing the kernel
The kernel of the debian installer has no SMP support, which is too bad as we have two cores :)
So, first thing is to change the kernel: apt-get install linux-image-2.6.16-2-686-smp
I tried not to recompile the kernel for this installation and so far, everything works fine.
A little anoying message at boot: select() to /dev/rtc to wait for clock tick timed out
This seems to be due to a bad interaction between the core duo and the rtc driver.
The solution I found was to edit etc/init.d/hwclock.sh and /etc/init.d/hwclockfirst.sh by specifying
HWCLOCKPARS=--directisa
Bug and Workaround Debian: #277298:
http://lists.debian.org/debian-kernel/2004/12/msg00397.html
Enabling Dynamic Frequency Scaling
I mostly followed instructions from
http://www.thinkwiki.org/wiki/How_to_make_use_of_Dynamic_Frequency_Scaling
It means:
1) Edit the /etc/modules file and add the followings
battery
ac
thermal
processor
speedstep_centrino
cpufreq-userspace
2) Install a daemon that will adapt the processor speed on demand:
apt-get install powernowd
Graphic card: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller
The driver is i810, included in the kernel.
I activated 3D acceleration using instructions on this page:
http://www.larsen-b.com/Article/231.html
We need to install mesa package from experimental
-- libgl1-mesa-dri
-- libglu1-mesa
-- libgl1-mesa-glx
To do that, follow these steps:
1) add experimental repository to your /etc/apt/sources.list:
deb
ftp://ftp.debian.org/debian experimental main
2) apt-get update
3) install required packages:
apt-get install -t experimental libgl1-mesa-dri
apt-get install -t experimental libglu1-mesa
(note: the first command also installs ligl1-mesa-glx)
Resart the Xserver, and we get the long awaited:
bertrand@ulysse:~$ glxinfo | head
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
Increase maximum resolution
Below is a procedure that should lead to increase the resolution of the graphic card, but it did not work for me.
The BIOS settings limit the maximum resolution possible with this video card. However, there is an utility to modify the BIOS settings and allow to increase the maximum resolution (for me from 1024x768 to 1280x1024, the maximum possible resolution seems to be 1600x1200 but that seems to much to me). The utility is called 915resolution.
1) apt-get install 915resolution
2) follow the instructions in the file /usr/share/doc/915resolution/README.Debian .
Wifi: Intel Corporation PRO/Wireless 3945ABG
The driver is not included in the kernel. Generic installation instructions are given here :
http://ipw3945.sourceforge.net . Overall these work fine, but I will give some more Debian specific tips.
1) You can use the wireless-tools package included in Debian Etch
2) You do have to install the most recent version of the ieee80211. Hoever, you don't need to recompile your kernel. The installtion procedure will upgrade the corresponding kernel modules. However, these may need to be reinstalled after a kernel upgrade.
3) Installation instructions that need tweaking for Debian:
- Put the firware in /lib/firmware (don't bother with the sed script, it does not work)
- To load the driver at boot time, the instructions are to create a /etc/modprobe.d/ipw3945 file containing the lines:
install ipw3945 /sbin/modprobe --ignore-install ipw3945 ; sleep 0.5 ; /sbin/ipw3945d --quiet
remove ipw3945 /sbin/ipw3945d --kill ; /sbin/modprobe -r --ignore-remove ipw3945
However
this does not work. Instead, I followed the instructions at this page:
http://www.atworkonline.it/~bibe/etch/index.html
In short: download the
script provided there and run as root:
# install -m 755 /path/to/ipw3945 /etc/init.d/
# update-rc.d ipw3945 start 40 S . stop 40 0 1 6 .
Then to connect to your WIFI network, edit the /etc/network/interfaces file. Something like this:
# Wifi network interface.
allow-wireless eth1
iface eth1 inet dhcp
wireless-essid XXXX
wireless-key YYYYY
This specifies that the Wifi interface (eth1) connects to the wireless network XXXX with key YYYYY and that the configuration is done via dhcp.
Alternatively, if you want to roam around in different networks, you can install the package network-manager and network-manager-gnome (or network-manager-kde) to get a nice applet that enables you to chose the network you want to connect to.
Software Suspend
Now, this is a pain ! The
software suspend 2 patches are not inlcuded in the debian kernel. There was a package for the patch in experimental, but as it was outdated the maintainer removed it very recently.
I can't manage to suspend the T60 with the regular swsusp in the stock kernel. Well, hibernation works fine but I can't get it to resume. I will try with the Ubuntu instructions here
http://wiki.suspend2.net/DistroAndHardwareSetup/Ubuntu_Breezy_Badger but it seems we will have to recompile a kernel :(
Here we go:
1) Read thoroughly this doc:
http://newbiedoc.sourceforge.net/system/kernel-pkg.html
2) Do everything up to section 3 (it's setting up the directory and preparing for the compilation). The kernel I will be using is linux-source-2.6.16
3) Download the latest version of
suspend2 for the 2.6.16: suspend2-2.2.5-for-2.6.16.9 in the "old downloads" directory.
4) Apply the patch
5) copy /boot/config-2.6.16-2-686-smp to /usr/src/linux/.config . This is the config options used to compile the stock kernel, and will serve as a base for our new kernel.
6) go into /usr/src/linux and update the config.