9.6.07

Debian Etch on T43p

Installation of the Debian Etch on Thinkpad T43p (model 2668-PEG): experience and hints


Author: Andrey Grigorev

(1) Introduction and hardware overview

I decide to install Debian etch on T43p. General overview of the hardware can be found here (as of 21.04.2007: http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&lndocid=MIGR-58315). My PC has 2 GB of RAM (instead of standard 1 GB).

If the information is not available from the IBM/Lenovo site, here are the main properties:
CPU: Intel Mobile Pentium M 770 (2.13 GHz)
RAM: 2 GB (max: 2 GB), PC2-4200 CL4 Non-Parity (NP) Double Data Rate Two (DDR2) Synchronous DRAM (SDRAM) SO-DIMM memory
Hard drive: 80 GB, 5400 RPM
Display: 14,1", SXGA+ (1400x1050)
Graphics: ATI Mobility Fire GL V3200 with 128 MB of RAM
CD/DVD drive: CD-RW/DVD+/-R Multi-burner
Networking: - wired: Broadcom 10/100/1000 Ethernet;
- wireless: Intel/PRO 2915ABG mini-PCI
Ports/connectors: modem, PCMCIA slot, ExpressCard slot, Bluetooth,
IrDA
Extras: FingerPrint Reader

(2) Preparing the installation

This laptop comes with preinstalled WinXP Pro and a bunch of IBM utilities. It is recommended, that you create a back-up copy of the preinstalled content. Several people reported that it took them 1 DVD and 1 CD to burn the stuff. I needed 1 DVD and 6 CDs - don't ask me why. Just prepare enough blank disks. :-)

I downloaded my netinstall-CD on February.That time it was RC1. Now Etch is an official stable release of GNU/Linux. So, if you decide to install it, take the freshest version possible - in this way you ensure that you have the most reliable and checked installation.

So, to start the installation, put your CD in the drive, select "Restart" in Windows menu and then - when CD is read - press ENTER (for standard install) or enter "installgui" (for new installation wizard with GUI). I have chosen the standard way.

In the first stage installer boots kernel image and tries to recognize the hardware. Some people reported (quite some time ago), that kernel could not detect SATA-interface installed on this laptop. I had no problems at all - everything went smoothly.

(3) Installation step 1: disk partitioning

As it was written above, this laptop came with 80 GB hard disk (approximately 5 GB are occupied by the preinstalled software/recovery software). It is more than enough to host both WinXP and Linux - especially taking into account that my previous laptop had 40 GB and also was configured as dual-boot machine.

So, I decided to partition the disk as follows:
75,7 GB
|
|-> 15 GB for WinXP (as primary, NTFS)
|
|-> 15 GB for "/" (root) (as primary, ext3)
|
|-> 45,7 GB (logical)
|
|-> 5 GB for "/home" (ext3)
|
|-> 0,7 GB for "/swap"
|
|-> 40 GB for "/windows/d" (fat32) - I will use this partition to share my files between WinXP and Linux

I must say, that Linux has resized original NTFS-partition perfectly, without any problem.

(4) Installation step 2: installing software

All the operations between disk partitioning and software install are trivial and can be skipped. Don't pay too much attention to the graphics now - you will have a chance to set up everything properly later.

Finally, you come to the step of software selection. It it - more or less - known, that netinstall-CD of Etch contains somehow broken links to the repositories, and if you decide to use the mirrors, the installation will stall with approximately 5% of progress - just because the repositories could not be contacted (or something like this). It is much easier to skip any software installation now and install what you need later. So, when you are asked if you want to install software from mirros, just say "no", and finish up installation with a base system only.

WARNING: be careful when you come to the place where you have to decide about location of the GRUB. I found several articles on the Net (after I finished my installation) saying that it was not recommended to put GRUB in the MBR (in this case you would not be able to access the recovery partition of the hard disk). Alternatively you could use the boot manager of WinXP.

For me it was too late, but you should spend some time on reading those articles/posts and you need to decide for yourself how you configure GRUB.

(5) Installing software

Actually, in this section I will not post any comments or hints. There are enough articles in the Internet about perfect/good/comfortable desktops with Debian. Just decide what you need and install it - either via apt-get or via Synaptic (GNOME-tool for package management)

In the next part I will report about setting up hardware with Debian Etch. I find this part much more exciting!

(6) Setting up hardware

This section describes how the hardware components of the laptop - like WLAN, DVD-drive or Bluetooth can be set up.

(6.1) CPU frequency scaling

To enable it, you must do following:
1) add modules ibm_acpi, speedstep_centrino, cpufreq_stats and cpufreq_ondemand to the /etc/modules files and run "update-modules" command. ATTENTION: you may do it as root only!
2) install package sysfsutils;
3) in the file /etc/sysfs.conf write desired governor - management policy for the speed. My governor is "ondemand";

(6.2) CDRW / DVD-Multiburner drive

Actually, this device is recognized properly from the very beginning. BUT! In this case the DVD-disks will not be mounted properly. In order to resolve the issue, simply remove the entry for the drive in the /etc/fstab file and let HAL/HOTPLUG mount it for you.

(6.3) WLAN

Setting up WLAN costed me roughly a month. Actually, I spent too much time trying to set up my network with WEP encryption. Somehow the driver didn't want to work with WEP (I found several threads on the Internet reporting about it in different distributions and on different laptops). Finally, I decided to switch from WEP to WPA-PSK. It costed me a couple of hours (at maximum) to reconfigure my system.

So, when you set up your WLAN, do the following:
1) install ipw2200 driver using synaptic;
2) install "wireless extensions" - a set of utilities for WLAN-modules developed at HewlettPackard for Linux;
3) install firmware in /usr/lib/hotplug/firmware (first you must download it from http://ip2200.sourceforge.net and then follow the instructions);
4) install wpasupplicant package;

So, you are ready to configure your WLAN module. First, add "options ipw2200 hwcrypto=0" in your /etc/modules file and run "update-modules" command. Afterwards modify your /etc/network/interfaces file:

iface eth1 inet dhcp
wireless-essid NameOfYourNetwork
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf

and create /etc/wpa_supplicant.conf file with following content:
ctrl_interface=/var/run/wpa_supplicant

eapol_version=1
ap_scan=1
fast_reauth=1
network={
ssid="NameOfYourNetwork"
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk="YourPSKAsASCIIText"
priority=2
}

Next use command "wpa_passphrase" to create the encrypted version of your PSK. When you get - long HEX-number -, comment out - with "#" - the ASCII representation of your key in the /etc/wpa_supplivant.conf and write there the HEX-representation - WITHOUT QUOTATION MARKS!!!

....
#psk="YourPSKAsASCIIText"
psk=YourPSKAsHEX
...

Finally, create file /etc/default/wpasupplicant with following content:


# /etc/default/wpasupplicant

ENABLED=1
OPTIONS="-w -D wext -i eth1 -c /etc/wpa_supplicant.conf"

Please, note that driver "wext" must be used instead of "ipw".

That's all! In root terminal enter "ifup eth1". If everything is set up properly, you will see a message from "dhclient", saying that it is obtaining an IP address from your router, and - in a couple of seconds - a message saying that your IP address expires in <N> seconds.

Tip: on T43p FN+F5 must control BOTH WLAN and Bluetooth. Under Windows it work (thanks to the special utility from IBM), in Linux this combination activates Bluetooth only. Short search with Google told me, that with "ipw2200" driver the antenna of the laptop is permanently sending signals - so, it is permanently on. If you want to control it, you must create two scripts with following content:

to enable the radio: echo 0 > /sys/bus/pci/drivers/ipw2200/*/rf_kill
to disable it: echo 1 > /sys/bus/pci/drivers/ipw2200/*/rf_kill

Additionally, you need to add "options ipw2200 disable=1" in your /etc/modules file - in this way you disable the radio at start time.


Sources: the following resources were used
http://www.strangeparty.com/2006/10/12/wpa-wireless-on-a-ibm-thinkpad-t43p-running-debian-etch/
http://www.downgra.de/x20/#wpa

(6.4) Graphic card

As it was said above, Thinkpad T43p comes with ATI FireGL V3200 card. Debian supports the basic functions of this card out of the box - after initial install you see your desktop and can work with it. But exactly the same I could already do with my older 600x, which had 4 MB of video-RAM. In order to utilize the power of the ATI card, there are two alternatives to choose from - either you install proprietary driver from ATI or you use open-source driver. Both of them have advantages and disadvantages, detailed descriptions and hot discussions are easy to find on the Internet.

I decided to use the proprietary driver from ATI. I searched a bit and found a very nice description of the installation in one blog. Here is the link: http://lafox.net/support/index.php?s=48ddf00adbb90adc46b8d4cefd4ff115&showtopic=10814&st=150&p=100274&#entry100274. It is in Russian. For those who don't speak Russian, I offer here (with author's permission) the translation of that guide:

1) make a fresh install, get the X-server running;
2) start _root_ console (you must be root to perform the installation);
3) download the freshest driver from the web-page of ATI;
4) enter uname -r - in this way you get the version of the kernel you actually run;
5) enter apt-get install linux-headers-<uname -r> - instead of <uname -r> you should put there obtained kernel version;
6) enter apt-get install libstdc++5 module-assistant dh-make gcc-4.0 build-essential mesa-utils - at this place, Linux can object that some packages are not known. Try to find in the Internet how they are called now. The reason for such a problem is that this guide was written for Etch Beta3, and in the meantime somepackages got renamed;
7) enter export CC=gcc-4.0;
8) enter sh ati-driver-installer-8.28.8.run --buildpkg Debian/etch;
9) enter dpkg -i *.deb;
10) enter module-assistant prepare;
11) enter m-a a-i fglrx;
12) correct file xorf.conf: change "ati" into "fglrx" in the Device section;
13) enter modprobe -v fglrx;
14) enter fglrxinfo - output of this command must look like this:
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI MOBILITY FireGL V3200
OpenGL version string: 2.0.6400 (8.35.5)

To be very short: you compile here new kernel module using the package provided by the ATI and then insert this newly created module into kernel. You must keep in mind, that if you change the version of the kernel, you should recompile the "fglrx" driver again. (This is one of the disadvantages, listed in many discussions).

Reboot your PC. In order to test the driver, wait untill the system is up, log in (as user) and enter fgl_glxgears. You must see three rotating coloured 3D-geers. If you see it, you have the 3D-functionality of the FireGL-card running.

It can happen that you get an error message saying that you have no persmissions to perform the operation when trying to execute "modprobe" command (item 13). In this case, just delete created module and do all the steps from the beginning.

Warning: MPlayer will not work properly with "fglrx" driver without adding "VideoOverlay" option to the xorg.conf file. Ask Google for more details, if you encounter this issue.


The following hardware components will be configred later:

(6.5) ACPI

Added on the 22nd of July 2007: see my post dated by 22.07.2007

(6.6) Bluetooth


(6.7) Fingerprint Reader


Additionaly I would like to configure 3D-desktop for me. :-) Just for fun - to utilize the power of ATI-card. :-)




 

No comments: