Installing Linux on a Toshiba Satellite 4000CDT

INSTALLING LINUX ON A THINKPAD Z61M

Note: (17 September 2007) I have now once more updated this entry in the light of recent experience. In particular, I am no longer using Sidux routinely for two reasons: one is that each time I started X I was getting an unexplained NMI error suggesting a hardware fault which no one could explain but which I think was a false alarm, since it never happened either with native Debian or with Ubuntu. The other is that following an upgrade wireless would no longer work. I therefore reverted to the standard Debian installation and everything worked flawlessly. However, I have kept the Sidux information here in case it is useful to anyone. I also provide the output of lspci for this machine (see C. below).

Introduction

In May 2007 I acquired a Thinkpad Z61M. It came with Ubuntu Linux preinstalled, courtesy of The Linux Emporium. I'd already installed this myself on another Z61M a couple of weeks previously but the CD drive failed and I had to return the machine for a refund.

I'm grateful to Ubuntu for getting the machine up and running but I do prefer native Debian, partly for "political" reasons but also because it is difficult to upgrade Ubuntu. I had problems initially getting Debian to recognize my hardware, particularly sound and wireless, This was in May 2007; now (September 2007) things are working much better, either because I've now got more experience or because the Debian installation is better.

A. Debian method (preferred)

  1. I used the Debian net installer CD because I have broadband connection. I just installed the base system and did the rest on line. I used Stable initially because I was worried about problems if I went straight to Testing or Unstable.

    Until the wireless connection is up and running you will need to connect to the Internet via a card in the PCMCIA slot and a wired connection; this means you should choose the third entry on the menu when the Debian installation asks you which network method to use.

  2. Sound: I installed ALSA, ALSA-utils, and aumix and sound just worked (after a reboot).

  3. Graphics: You can get the maximum resolution (1680x1050) by using the fglrx-driver. Just install the relevant package and edit /etc/X11/xorg.conf to use fglrx instead of vesa. Follow the instructions on the Debian site to compile the fglrx module and get 3D working.

    2 May 2008: Full resolution now seems to be working with the radeonhd driver.

  4. Wireless: This has been the biggest problem for me up to now. The new firmware-iwlwifi combined driver, which is what Sidux is using, seems to detect the card, more or less, but there is no data transfer. On Debian, therefore, I used the older method. I installed firmware-ipw3945, ipw3945d, and ipw3945-modules-2.6-686. To make all this work I added an entry in /etc/modules: ipw3945. Following a reboot the card was recognized. Later kernels use iwlwifi instead of ipw3945 but I have not managed to get this to work.

    You will also need to edit /etc/network/interfaces. There are configuration tools for this but I did it by hand. For some reason the card came up as eth3. Here is my /etc/network/interfaces:


    # This file describes the network interfaces available on your system and how to activate them. For more information, see interfaces(5).

    # The loopback network interface
    auto lo

    iface lo inet loopback


    # The primary network interface
    allow-hotplug eth2
    iface eth2 inet dhcp


    iface eth3 inet dhcp
    wireless-essid [my ESSID; substitute your own]
    wireless-mode managed
    # No WEP key in use (probably a Bad Thing but I don't think it is an issue where I live; I may put it in later).

    auto eth3


  5. Notes:

    1. I don't like desktops KDE, Gnome, or even Xfce, so I installed my favourite window manager, Icewm.

    2. I didn't bother getting suspend-to-disk working though it should be possible via s2disk. I did have it on Sidux (see below) and on Ubuntu but the only thing I routinely want to bring back is Iceweasel, and if you leave this running when you close down it asks you if you want to restore the session when you reboot; I just accept the option.

    3. I didn't bother with the Fn keys either, although the brighness keys do work out of the box. I don't know of any way to make the on-board camera work under Linux.

  6. Having got everything running I then, somewhat heart in mouth, did a dist-upgrade to Testing. Everything happened flawlessly. But, as noted above, don't be tempted to go on to Sid (Unstable) at present; there are currently issues with the fglrx driver and you will lose the maximum resolution.

  7. Postscript: Nothing to do with this laptop, but be aware that there is currently a problem with udev; it doesn't load /dev/lp0, which you probably need for printing. To fix this, add parport_pc and lp to /etc/modules.

B. Sidux method (now not in use)

Sidux (see the Sidux site) has excellent documentation in the on-screen manual and also a very good forum, with really knowledgeable people on it. Sincere thanks to all those who helped me set things up correctly.

The steps that I took to install Debian Sid on my Z61M were as follows:

Initial steps

1. Download the iso image to install Sidux. Note that for a desktop you should get the 32-bit version, not the 64-bit. Currently (10 April 2007) this is SIDUX-2007-01-200702210759-CHAOS.ISO. Get the MD5 file as well to make sure it's OK.

2. Make a CD with this image and boot from it. You will then get a live version of Sidux, which you can try out.

3. You can now install Sidux to your hard disk, following the option provided. This is quite straightforward and you should then have a working version of Debian Sid. If you want to dual boot, remember to put grub on partition, not mbr.

Continuing the installation

Sound worked out of the box for me but wireless did not, so I used a wired connection initially; this was recognized automatically. The remaining steps were to get wireless working and install drivers for the video to allow 1680x1050 resolution and 3D rendering (needed for Google Earth).

4. For wireless, follow the instructions in the manual for Internet and Networking. As noted above, I had problems with the default firmware-iwlwifi. Probably the older version would work but in that case you might as well use native Debian, as suggested in A.

Once you have these you can set up your network. There is a GUI for it in KDE but I preferred to do it manually via sudo netcardconfig. You may need to run this a few times to get things right - at least, I did. Have a look at /etc/network/interfaces to see if things appear sensible. Once it's right you will see the LED flicker and then come on permanently, indicating that you have connected.

Here is my /etc/networking/interfaces but yours may be different. (Actually, I think some of the lines are redundant but they don't do any harm.)

# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface
# automatically added when upgrading
auto lo eth3
iface lo inet loopback

iface eth3 inet dhcp
wireless-mode Managed
iface eth0 inet dhcp
wireless-mode Managed
wireless-essid

5. To get video set up properly, you also need a non-free driver. The suggested method uses a script called sgmxi (formerly sgfxi). It fetches the driver and sets it up for you, writing /etc/X11/xorg.conf in the process. Make sure it has the default resolution set to 1680X1050.

6. You can use suspend to disk, a.k.a hibernate, with the s2disk command as root. (I couldn't get Fn + F12 to work for this in Debian.) You will need to make /etc/uswsusp.conf with an line like this:

resume device = [swap device]

You will need a large swap in order to accommodate the stuff being saved to disk; mine is 5 GB

7. The last item is here because I'm a die-hard command-line user who dislikes KDE, Gnome, Xfce and all desktop managers. I try other things but always go back to Icewm in the end, so I installed it here. I then deleted all the KDE stuff.

Output of lscpi for this machine

00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.1 IDE interfa
ce: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02) 00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller AHCI (rev 02) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility X1400
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5752M Gigabit Ethernet PCI Express (rev 02)
03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
15:00.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller
15:00.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller
15:00.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
15:00.3 Generic system peripheral [0805]: Texas Instruments PCIxx12 SDA Standard Compliant SD Host Controller


HOME | BACK
: