Installing Fedora Core 2 on the IBM Thinkpad X40
May 27, 2004
The X40 has no option for any removable media (without buying the
docking station), but fortunately does support net (PXE) booting.
On another laptop, I was running RH9. I downloaded all of the fedora
iso's and then mounted them with -loop, then copied all of the rpms to
an exported NFS directory. A handy hint here is to edit the .discinfo
file and put 1,2,3,4 for the discs available. I then grabbed a PXE
server package and got it running. On the fedora CD-1 are the initrd
and kernel images you'll need to put in the /tftboot directory.
On to the X40. Malheureusement, I have occasional need for windoze. I
used partition magic to shrink the windoze parition down and to add an
ext3 part for /, an ext2 for /boot and a swap partition. IBM has a 6 GB
part for their rescue utilities. Being a fan of safety nets, I've left
it there for now. You can force boot to it and use a minimal browser to
download files or read online stuff.
While booting, press F12 and choose net boot. I already had a different
DHCP server on the net, so I had not set one up on the RH9 box. From
there, it detected the PCE server, downloaded the boot kernel and asked
how I wanted the rest installed. I told it NFS and pointed it to the
right place. I told it the packages I wanted and it was off to the
races. I had installed Boot Magic, but ended up using grub for booting.
I assume one could use parted for the initial partitioning as well, I
After fedora installed, I rebooted and shazam! There it was. I ran
up2date and got a bunch of fresh packages.
The only real hassle I've had was with the wireless. At ipw2100.sourceforge.net is
the Centrino wireless project. Following the install directions, I
managed to get everything to compile. But I never could get hostap to
load, complaining about 4KSTACKS. This is a new setting for 2.6.
Meanwhile, the clever folks at atrpms.net
put together nice rpm's for all the pieces; hostap, the driver and
firmware. After installing those and wrestling with the syntax of
ifcfgeth1, I became untethered.
All in all, it was fairly painless. I've got a sub 3 pound notebook
with a 40 GB drive, wireless and 3 hour + battery. All the nice buttons
on the notebook function as expected; volume, screen brightness, etc. I
will play around more with cpu speed settings and hibernate, but I'm
pretty stoked right now. I can plug and unplug a USB mouse and keep
Now for GPRS. Sierra Wireless has a card that t-mobile sells. $30/month
for all the data you can eat. Sierra doesn't officially support linux,
but does have a faq for the appropriate settings to make it look like a
Update: June 11, 2004
I purchased the Sierra Wireless Aircard 750 through
T-Mobile. Looking here,Sierra
Wireless gave me
the starting point. I downloaded the pieces and followed
the instructions. I had to make a couple of changes. The
default in the dialing script called for using /dev/modem. On my
system, aeach reboot resulted in /dev/modem being linked to /dev/cua3.
So I just changed the script to use /dev/ttyS3. Apparently since
the card has a SIM chip, niceties such as username and password
aren't really enforced on login. Any value, including NULL seems
to work. My experience has been that the card won't work for a
short while after first being inserted; presumably this is the device
getting sync'ed up with the cellular network. In addition, with the
default config, it does not add a default route. So I just make sure
that all the other interfaces are off first, then bring it up.
After it's connected, i ran ifconfig. It showed me as having a local 10
address, with the remote IP being a 169.254 address. Hmmm, that doesn't
sound good. It did grab several DNS servers as well. Okay, let's
try pinging. I can ping the local 10 address. But I can't ping the 169.
How about a traceroute somewhere. It seemed to fail. Then, I just
let traceroute run. Shazam! It's not very fast or efficient, but it was
connected. The 169 address is just a NAT, and one you can't ping. The
connection speed is not great but it works. I can ssh, etc to wherever
The IRDA is my next challenge. I enabled IR in the BIOS and start the
IRDA service, and irattach seems happy. When I try to sync to
the Treo, nothing seems to happen. Irdadump shows outbound packets, but
no response from the Treo. Oh, well.