Slackware Linux 11.0 on an IBM Thinkpad T23


I    General notes

II    Windows issues and backup

Windows mostly (but not always) worked okay, but if I tried to shrink the Windows partition it sometimes (but not always) blue-screened when I tried to boot. When Windows owned the whole disk as well as the MBR it did more or less okay. It seemed like my laptop was born with Windows XP, but at some point someone nuked XP and put Windows 2000 on it (it had a Windows XP sticker on it, but it ran Windows 2000 and was missing IBM's restore partition). It's possible that whoever did the second install messed things up slightly (incorrect geometry specification, perhaps?).

Since I'll only ever need Windows in the unlikely event that I sell this machine, I didn't bother to troubleshoot all this. I decided to shrink the Windows partition, back it up on CD, and then wipe it off the laptop.

To back up Windows I did the following:

  1. chkdsk /f in Windows (requires reboot). This is necessary because otherwise qtparted might choke in step 3, and it's better to start clean anyway.
  2. Boot Knoppix.
  3. Run qtparted, shrink the disk down.
  4. Before you run the next two steps, you might want to try out just the nc commands with some bogus data (typed in) to make sure the connection works okay: firewall settings, network settings, etc.
  5. Tell the server/desktop to listen for the image you'll upload:
    $ nc -q 5 -l -p 1025 > windows.img
  6. Tell the client/laptop to upload the image (assuming your Windows partition is /dev/hda1):
    # dd if=/dev/hda1 | nc servername 1025
  7. Compare checksums to verify that there was no corruption en route. On the desktop:
    $ sha1sum windows.img
    On the laptop:
    # sha1sum /dev/hda1
  8. Compress the image and again verify fidelity:
    $ gzip windows.img
    $ cat windows.img.gz | gunzip | sha1sum
  9. Split the image into CD-sized pieces and again verify fidelity (of course, if you're using a DVD you might not need to split the image):
    $ split -b 650m -d windows.img.gz windows_cd_
    $ cat windows_cd* | sha1sum
    $ cat windows_img.gz | sha1sum
And now you should have files called windows_cd_00, windows_cd_01, etc. which you can burn to CDs. You might also want to save off the IBM recovery partition if your machine has one and you don't want it taking up room. Also, you might want to get an fdisk output (fdisk -l /dev/hda) and back that up with your disk images for use in restoring your backup. To restore from backup you'd do almost the same thing, but in reverse.

Note: I recently found out about a utility called ntfsclone which simplifies some of the steps above. I haven't used it but you might find it useful if you're trying to back up a Windows partition.

Note 2: I've now used ntfsclone once and I strongly recommend it. I don't have time to write up full notes right now, but it's pretty easy to use and does a much better job than the clunky approach given above (better in every way: speed, size, and probably reliability as well).

III    Linux installation

I originally installed Slackware 10.2 on this machine. The installation was almost perfectly smooth and I had only one issue (APM and sound, see below). I recently upgraded in place to 11.0 following the upgrade instructions and had no issues at all. Be sure to read the changes and hints file before you begin, because there are a couple of things to watch out for.

Software updates

slackpkg is an excellent update tool with a helpful manpage which you don't even really need. All you need to do is uncomment one mirror from /etc/slackpkg/mirrors and then, each time you want to run updates, say slackpkg update; slackpkg upgrade-all. You might also consider subscribing to the slackware-security mailing list.

APM

If you want to use IBM's Linux-independent BIOS hibernation, create a partition of type a0 (IBM Thinkpad hibernate) big enough to hold both your RAM and your video RAM, and then get tphdisk (the source is here, the BSDs have a port, and Dag Wieers has an RPM; I don't know about Debian). Build tphdisk and use it to initialize the hibernation partition: if you have 256MB RAM and 16MB video RAM, you'd say tphdisk 272 > /dev/hda2 (assuming /dev/hda2 is the new Thinkpad hibernate partition you just created).

Now to use it, enable APM:
# modprobe apm
and you should have access to all the standard APM features: Fn-F3 (standby), Fn-F4 (suspend), Fn-F12 (hibernate), Fn-PgUp (toggle the cute little LED that lights up your keyboard), etc. To play around with APM some more, check out tpctl and thinkwiki. If you want to load the APM module automatically at boot, add a line to /etc/rc.d/rc.modules saying /sbin/modprobe apm.

Sound doesn't work when resuming from suspension or hibernation. To solve this, first change /usr/sbin/apmd in /etc/rc.d/rc.M to /usr/sbin/apmd -P /etc/apm/apmd_proxy. This tells apmd to call apmd_proxy when APM events occur (the man page for apmd says this should be the default but it doesn't seem to be). Now put this in /etc/apm/apmd_proxy. I only needed to fiddle with sound; if you need other stuff, see the apmd manpage.

The T23 also supports ACPI.

BIOS updates

If you decide to update the BIOS (FYI: most modern BIOSes have Intel's microcode updates built in), either follow the yellow brick road to thinkwiki.org or look at my BIOS-updates page. IBM requires that you use either Windows or a floppy to flash the BIOS. Well, Windows gave me an error and I don't have a floppy drive. However, it's possible to use the disk image from IBM to El Torito-boot a CD, which is very easy and does the job just as nicely.

Ethernet

Slackware recognized the onboard ethernet controller automatically and loaded the standard eepro100 Becker driver. The wireless card is an onboard Prism2, which also has support built in to the standard Slackware kernel (but I haven't actually tried it yet). I would imagine most distributions recognize these by default. If you want something to handle network profiles, look for "laptop-net", "netswitch", "quickswitch", or any of the myriad equivalents.

Modem

My laptop has a Lucent PCI software modem. Software modems, sometimes called softmodems or winmodems, have historically not had vendor support for Linux, and so have often been problematic. This one wasn't too bad. Thinkwiki's page about this modem has a few pointers. I could only find a Suse RPM of the Smartlink driver, and I couldn't get that to work. I didn't really try too hard, though, since I only needed it for a one-time project and the ltmodem driver worked fine. The ltmodem tarball has a detailed readme.

Graphics

Oddly enough, I got slightly better results using the default Xorg Vesa drivers than using the S3 Savage driver. I'm probably doing something wrong with the Savage but I don't really care because it looks fine the way it is.

Really not much else to say: other than the APM sound problem, I haven't had any issues.


ThinkWiki - The Linux Thinkpad Wiki Linux On Laptops TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones
author: Moy Easwaran; last modified: June 17, 2008; hits: [an error occurred while processing this directive]