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 just didn't.
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 working.
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 modem.
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 I need.

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.