<?xml version="1.0" encoding="UTF-8"?>
<essay xml:lang="en" version="pto" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:gal="http://norman.walsh.name/rdf/gallery#">
<info>
    
    
    
    
    
    
    
    
    
    
<title>New Laptop!</title><biblioid class="uri">http://norman.walsh.name/2004/09/20/newLaptop</biblioid>
<volumenum>7</volumenum>
<issuenum>167</issuenum>
<pubdate>2004-09-20T19:15:07-04:00</pubdate>
<date>$Date: 2005-09-11 10:27:02 -0400 (Sun, 11 Sep 2005) $</date>
<author>
      <personname>
<firstname>Norman</firstname>
	<surname>Walsh</surname>
</personname>
    </author>
<copyright>
      <year>2004</year>
      <holder>Norman Walsh</holder>
    </copyright>
<abstract>
<para>My new laptop is a ThinkPad T42p and it’s mostly up and running now.
</para>
</abstract>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#SelfReference"/>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#ThinkPad"/>
</info>

<para xml:id="p1">If you’re looking for advice about how to install Linux on your
Thinkpad, I suggest you start with
<link xlink:href="http://www.linux-on-laptops.com/ibm.html">the IBM</link>
pages at
<link xlink:href="http://www.linux-laptop.net/">http://www.linux-laptop.net/</link>.
Everything you find here, I learned from those pages, and from
the
<link xlink:href="http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/">linux-thinkpad</link> mailing list.
I don’t think I have a much to add at this point.</para>

<section xml:id="good">
<title>The Good</title>

<para xml:id="p2">Getting the T42p up and running was remarkably straightforward considering
how little I know about modern x86 architecture machines.
I started by booting it up and letting the Windows XP install process
grind along. I poked about a bit to see if everything seemed to be working.
It did.
</para>

<para xml:id="p3">Next, I created a
<link xlink:href="http://www.sysresccd.org/">System Rescue CD</link> and
booted it up. Using <command>qtparted</command>, I blew away the
IBM system rescue partition and resized the NTFS partition down to 10GB.
It turns out I could have created my own rescue CDs, but since I’d
already asked IBM to send me a set, I didn’t bother.</para>

<para xml:id="p4">Having created a bit of free space on the disk, I booted with the
<link xlink:href="http://www.debian.org/">Debian</link> “Sarge” network
install disk, made a few partitions, and got a base system installed.
Real sysadmins may question my partitioning choices:</para>

<programlisting>hda1  Boot  Primary  NTFS        []       10737.38
hda2        Primary  Linux ext3  [Root]   16001.56
hda5        Logical  Linux ext3  [Home]    4002.33
hda6        Logical  Linux ext3  [Mail]    4002.33
hda7        Logical  Linux ext3  [Share]  23201.10
hda8        Logical  Linux swap            2066.97</programlisting>

<para xml:id="p5">Modern machines seem to just have a single huge partition, but
I’ve never done it that way and so I’ve stuck with what makes me comfortable.
In particular, I use the <literal>nntp</literal> backend of
<application>gnus</application> to read mail; that leaves every message
in a separate file, so the <literal>Mail</literal> partition is setup
with a smaller than usual block size. The large swap partition is to
ensure that I can hibernate the machine.</para>

<para xml:id="p6">Anyway, Debian is great. Update
<filename>/etc/apt/sources.list</filename>, run
<command>apt-get update</command> and
<command>apt-get upgrade</command> and you’ve got an up-to-date
system running. To build a modern kernel, I installed
<package>gcc</package>, <package>binutils</package>, etc.</para>

<para xml:id="p7">I built a stock 2.6.8.1 kernel with
<personname>
	<firstname>William</firstname>
<surname>Stein</surname>
      </personname>’s <filename>.config</filename>
file.</para>

<para xml:id="p8">At this point, I had a running system. The next problem
was getting X Windows up and running. I decided to build
X.org’s X11R6/6.8.0. I used <command>apt-get</command> to grab
a working X11 install, but I never tried to run the XFree86 server.
</para>

<para xml:id="p9">There aren’t (yet) any packaged versions of the X.org server,
so I grabbed the sources and built them. This is a delightfully
fast laptop. The X.org build system will apparently only install in
<filename>/usr/X11R6</filename>, so I renamed a few things and made
a couple of links before running <command>make install</command>.</para>

<para xml:id="p10">To get
<command>emacs</command> running again (!), I had to copy the
<filename>libXaw3d</filename> libraries over from the XFree86 install.
</para>

<para xml:id="p11">Having grabbed William’s <filename>.config</filename> file,
I went ahead and grabbed his <filename>/etc/X11/XF86Config-4</filename>
file too.</para>

<para xml:id="p12">Ran like a charm.</para>

<para xml:id="p13">The WiFi card in this laptop uses the Atheros chipset, so the
<link xlink:href="http://sourceforge.net/projects/madwifi/">madwifi</link>
drivers work perfectly.</para>

<para xml:id="p14">Patching and rebuilding the kernel with
<link xlink:href="http://softwaresuspend.berlios.de/">Software Suspend 2</link>
support quickly got me a “hibernate” function working. Suspending to
RAM was already working with ACPI.</para>

<para xml:id="p15">Installing drivers for the
<link xlink:href="http://www.linuxant.com/drivers/">Conexant HSF</link> modem
even got that working. I’m using the free drivers, but really, I don’t
use dialup anymore so I’ll probably never bother to buy a commercial
license.</para>

<para xml:id="p16">In short: from unpacking the boxes to a working Linux box in a few short
hours, not counting the time it took to migrate all my data across.
Not too shabby.</para>

</section>

<section xml:id="bad">
<title>The Bad</title>

<para xml:id="p17"><link xlink:href="http://en.wikipedia.org/wiki/Murphy%27s_law">Murphy</link>
is ever vigilant. Nothing I was worried about turned out to be difficult
to setup at all. Something I didn’t give any thought to at all, the ability
to display on the LCD panel and an external monitor at the same time, turns
out to be…hard. Hard in this context being roughly synonymous with “impossible”.
As someone who gives presentations with fair regularity, this is seriously
bad. I’m also hoping it’s something that can be fixed fairly quickly.
It seems to be related to
<link xlink:href="http://ibm-acpi.sourceforge.net/">IBM ACPI</link> support.
Fingers crossed.</para>

<para xml:id="p18">[Update 21 Sep 2004: turns out there’s a BIOS setting to toggle
between DRI (some sort of digital output for external LCD displays)
and VGA (for traditional CRTs). It’s set to DRI by default and setting
it to VGA fixes the problem. Whew!]</para>

</section>

<section xml:id="ugly">
<title>The Ugly</title>

<para xml:id="p19">There’s a bunch of stuff I haven’t got working yet. Not because
I <emphasis>expect</emphasis> it to be hard, but because I haven’t had
time to try yet: irDA, Bluetooth, CD/DVD burning, turning
<emphasis>off</emphasis>
the touchpad. I’ll report more
when I know more.</para>

<para xml:id="p20">For now, I’m very happy with my Thinkpad.</para>
</section>

</essay>

