Linux on a Thinkpad i1300


Last edited: June 12th, 2003
INTRO
Purpose of install:  To dual boot Linux with Win2k
My system: IBM ThinkPad model 1171-8XU:  i1300, 750 MHz PIII, 320M RAM, 40GB HDD, Win2k pre-loaded, Wireless, CD-RW, and USB Floppy.
I used VCom's Partition Commander to shrink the FAT32 partition down to 30G, move and expand the the 850M DOS partition to 1.5G, leaving me 8.5G at the end of the disk to work with.

I've been reading that DiskDrake shipped with Mandrake is also able to resize partitions, though I haven't tried it.

If you notice any technical errors in this page please contact me at josh_speer@yahoo.com.

Mandrake 9.1 Is the Current Winner!
All the hardware is pretty much working. Now I have to start working on the software.
Interesting bits:
  1. It hangs during boot if I have a Compact Flash card in the PCMCIA slot.
  2. LILO gave me the biggest pain in the neck! -- I was only able to edit the settings using the comand prompt. The GUI interface has apparently been stripped out of 9.1.
  3. The CDRW unreliably mounts disks -- sometimes not even the install disk can been seen!
I got a copy of Mandrake 9.1 from Cheapbytes.com for $12 to my door.


DISTRO-MANIA
I've tried the following distributions with the included notes. The variety among distros is amazing...
MANDRAKE 9.0
After installing off the CD nearly everything worked including: Wireless, PCMCIA.
Unfortunately, a couple of important things didn't work: CD-ROM, Modem, power management, and USB.
Regardless, having network access and general function was acceptable.
Interestingly, the Mandrake Update software got mangled somehow and I couldn't find any details on how to fix it so I signed up for the Mandrake Club ($60/yr) sevice. That worked okay -- merely okay.
REDHAT 7.1
I tried to install RedHat 7.1 only to find that the LILO included cannot boot above cylinder 1024!  Although I've read about something called "lu32" (or something like that) which presumably is a 32 bit version of LILO, I didn't see it in among my boot options.
Then I tried a RedHat virtual partition in the FAT32 partition but, since it couldn't see my USB floppy, I couldn't make the necessary boot disk.
LYCORIS
I bought this with the Development CD and was able to have it working marginally but eventually gave up on it because it ran like molasses on my ThinkPad.
They sell a preloaded TP 600E on their web site so I felt really jazzed -- misplaced zeal: the install didn't have the pcmcia, usb, modem, or sound working...
MANDRAKE 8.1
This is the distro I've settled on for now:  While the functionality is still marginal, the performance is acceptable.


BOOT LOADER
There are four major loader: NT Boot Loader, LILO, GRUB, and Virtual PC
NT Boot Loader
I tried to use the NT Booter by using the "bootpart" program but for the life of me I couldn't figure it out... the how-to makes no sense to me.
LILO
This works and also gave me access to the Hidden DOS partition so that I can boot directly to DOS.  A very cool feature I've used often.
GRUB
This is the other, newer Linux loader which is default with Lycoris.  In comparison to LILO, it doesn't have the upper cylinder limit and doesn't affect the boot-up splash screen (it's always the IBM graphic).  Unfortunately, it won't boot the hidden DOS partition, which was a poison pill for me -- I went back to LILO.
VIRTUAL PC
One of the major reasons I didn't go this route was becuase my TP is listed as 192M RAM max.  According to Virtual PC, that allows both Win2k and Linux to run at this minimal settings and I was concerned that the performance would take too much of a hit.
I recently heard, however, that a similar machine (1161) had 320M with a 256M module.  Given that, I reconsidering this.
What makes this so attractive is that the Linux window uses the peripheral as Win2k services, so, persumably, the USB, and WiFi would work... But I don't know for sure.
 
RECOMPILING THE KERNEL
This has got to be the single most daunting aspect of Linux.
Two points of interest:
  1. Since Linux uses a 'monolithic' kernel, what ever you compile in is what you've got.  Linux does support, however, 'modules' which are loaded and unloaded on the fly to provide services.
  2. Contrast this with a 'micro' kernel (aka Mach) which is used in freeBSD, Mac OSX, and GNU Hurd (quite an impressive list!)  Basically, the kernel is very small and EVERYTHING is a service running on it.

The tradeoff, presumably, is performance. I wonder, however, how much this make sense in a world of 3GHz processors...

I'm not sure what sort of kernel AIX, Solaris, or HP-UX are running. Since these are tailor to propreitary hardware the point may be moot.

As outrageous as this idea sounds, it really is a simple matter of download the kernel (2.4.18 is 30MB), expanding it in '/usr/src/linux' and running 'make xxx' (where xxx is a argument listed in the readme file).

Using 'make xconfig' was facile enough although you must be prepared to boot on your last known-good kernel:  Just because it compiles without error doesn't mean it will boot. When you 'install' the image it adds an entry to the boot loader list (at least it did with LILO) so just keep track of a known good entry.

I ended up struggling with this extensively and will post more here on the nitty-gritty when time permits.

Two more points of interest:
  1. The selections given as default in 'make xconfig' are not always the optimal (I lost the ability to mount a vfat disk, for example.)
  2. There must be a billion settings to make in 'make xconfig'.  I really feel the pain of the sophomore hacker -- I guess that explains the cottage industry of binary distros!  

RECOMPILING GCC
I had mostly acceptable results while working on a new kernel so I thought that recompiling the the C compiler would be okay. I WAS WRONG! Although the HOWTO was okay I managed to completely destroy the system -- it wouldn't boot at all! I ended up wiping the partition and reinstalling. Perhaps I would have been able to recover but I really wanted the new GCC so I simply upgraded from Mandrake 9.0 to 9.1. This worked out for the best anyhow.

 

INTERESTING NOTES
One would think that it that disabling the automatic NumLock at boot (a disasterous condition for a laptop) should be straight forward: it isn't.
RPM (aka RedHat Package Manager) was used in all three packages.  While this sounds great, none of the how-tos mention this technique.  I'm still struggling with this.
Why are all the how-tos written for people who've already figured the problem out?  That what it seems like to me, at least.
As with everything else in the world,  the money I'm not spending for this software I am spending in time and anguish.
I overheard an interesting comment regarding the Total Cost of Owership of Linux versus Windows:  Say that Windows XP costs $250 for a complete version and you can expect to use it for 3 years.  During that time you'd reinstall 5 linux distros (1 every 6 months) @  $50 each.  Guess what?  They cost the same...  And which was more functional?