Installing Gentoo on a ThinkPad 750P
I know a lot of you out there either already have an old ThinkPad or have access to cheap ones, or are thinking about what these machines can do. Well, they can run Linux. I plan to make mine an SMB file and print server.
In this version of this document, I will tell you how I installed Gentoo Linux on my 750P.
You need some RAM. The 750 family all came with 4MB RAM built in. That's fine for DOS, but not a modern OS. You can buy a 32MB DRAM card, bringing up the total to 36MB, which is just enough to run a few useful tasks.
You need a bigger hard disk. My 750P came with a 170 MEGABYTE hard disk. The 750 with IBM's latest BIOS can handle 8GB of drive capacity. Any OS (such as DOS) that uses the BIOS for disk access can use 8GB of capacity. Linux and other modern OSes can use larger disks (up to 137GiB) but the boot partition must be entirely below the 8GB boundary. A 4GB drive may be large enough for Gentoo. I'm using a 12GB drive.
You need some way to get files on your machine. I used a network card. Specifically, the LinkSys PCMPC200. It's a 16-bit PCMCIA (PC Card) card that does 100Mbps speeds and has native Linux drivers.
You need another computer. Use this computer to download and make floppy disks and to hold files your 750 will need.
- You have installed Linux before
- You have at least read the Gentoo Handbook, or even installed Gentoo
- You are comfortable designing a partition scheme
- You are using a NIC to install Gentoo
- You do NOT want a fine-tuned, ultra-tweaked Gentoo installation after this procedure.
You want a system that works so you can learn Gentoo better and tweak it later, or do it again the way YOU want it done.
Download the bare.i, install.1, install.2, and pcmcia Slackware floppies. Boot the 750 with the bare.i disk. The following line of parameters will suit our needs.
ramdisk floppy=thinkpad noapm noscsi nousb
Add mono if you've got the 750 or 750P with a grayscale screen. Insert install.1 when it asks for the root disk. Continue with install.2 when prompted.
Login as root. If you have a 750 or 750P (and its grayscale screen) enter TERM=vt100. Insert your NIC if not done already. Type pcmcia. Configure your card:
ifconfig eth0 $IPADDR broadcast $BCAST netmask $NETMASK
Then make sure you can route to the internet:
route add -net default gw $GTWAY netmask 0.0.0.0 metric 1
Make /etc/resolv.conf to include your DNS servers.
Follow section 4, Preparing the Disks, to partition, format, and mount your disk. Remember to ensure your /boot partition is in the first 1024 cylinders or 8GB. Use mke2fs to format them. Be sure to activate your swap partition using swapon. Compiles will take more memory than my 36MB could handle.
Here's what I did after partitioning:
mke2fs /dev/hda6 mke2fs -j /dev/hda8 mkswap /dev/hda7 swapon /dev/hda7 mkdir /mnt/gentoo mount /dev/hda8 /mnt/gentoo mkdir /mnt/gentoo/boot mount /dev/hda6 /mnt/gentoo/boot
Your partition numbers will be different.
This section replaces the Gentoo Handbook sections 5.a to 5.d. On another machine, download a stage tarball. I used stage1-x86-2004.3.tar.bz2. Use bunzip2 on that machine to get a tar file. This is important because the Slackware floppies cannot understand a bz2 file. Put that tar file on a web or ftp server. The Slackware floppies cannot mount an SMB share.
Get and extract the stage tar archive:
cd /mnt/gentoo wget http://othermachine/stage1-x86-2004.3.tar tar -xvpf stage1-x86-2004.3.tar
Also download the most recent version of portage, unzip it and make the tar archive available via http or ftp. Get and extract that file:
wget http://othermachine/portage-20050225.tar tar -xvf portage-20050225.tar -C /mnt/gentoo/usr
Note that this portage bz2 file was about 18MB, expanded to a 40MB tarball and took about 500MB of disk space because of the huge number of small files.
Continue with Gentoo Handbook section 5.e Continue with the Gentoo Handbook with Installation section 5.e. Configuring the Compile Options.
In step 6.a, Chrooting, you must manually set the GENTOO_MIRRORS and SYNC in your make.conf file because mirrorselect is not available.
You do not need to "emerge --sync" or "emerge-websync" if you used a recent portage archive earlier. "emerge --sync" will usually timeout because the 750 is so slow. This can be configured, but there's no need to do it just yet.
Choose your USE flags carefully. None will be set by default since you are booting Slackware.
Extracting the portage tar file will take some time. There are a lot of files in there. Speaking from experience, deleting those files takes a long time too, if you should happen to put them in the wrong place.
Anything in the Handbook that says will take a long time will take a really long time. Be prepared to let it run for several days. Really. The initial bootstrap.sh that builds the compiler and libraries took just under 12 days on my machine.