IBM P70 Linux Install
Why install Linux on an IBM P70? Besides the geek factor, it’s to make it useful again. A computer that you can lug around and do ssh, dial-up, text browsing, e-mail, etc. (In my case, I am probably going to run LambdaMOO [more info] on the P70… but again, just for the geek factor…
Here are some general instructions for installing Debian Linux on an IBM P70 with an ESDI HDD and a SMC Ethernet MCA card. The version of Debian we’ll be installing is Woody (3.0) and the kernel version (for more efficient use on a 386 CPU) is 2.2. Usually the P70s came with an ESDI hard drive, but some had SCSI drives. You will need a Linux box handy beforehand so you can compile the kernel and make the installation disks for the P70.
1.0 Download the 2.2.26 Linux kernel [ linux-2.2.26.tar.gz ] from kernel.org to a directory on your linux box.
1.1 Download root.bin and rescue.bin from the Debian Woody 1.44 compact distribution [ MIT Mirror ] to a directory on your linux box.
1.2 Untar the linux-2.2.26.tar.gz kernel file. This should untar to its own directory. Change to this directory, and modify your .config file. (I usually use make menuconfig.) You should make your kernel pretty minimal. You can use the .config that I’ve created. If you don’t have a Math Coprocessor, you can enable the Math Coprocessor emulation.
OK, now here’s the tricky part. I used Chapter 10 from the Debian GNU/Linux 3.0 for i386 Install Guide as help for modifying the rescue (boot) floppy. Compile the kernel using a .config file with the contents above. Just a reminder for compiling the kernel:
2.1 # make menuconfig (optional – use if you want to add any more options into the kernel)
2.2 # make dep
2.3 # make clean
2.4 # make bzImage
Now, you need to mount the rescue.bin image you downloaded from debian.org and make the kernel modifications. Go to the directory where you downloaded rescue.bin and root.bin:
3.1. # mount -t auto -o loop rescue.bin /mnt
3.1.1 You will need “Loopback device support” (in Block Devices) compiled into your kernel in order to mount this file.
3.2. Change to the directory of the kernel source
3.2. # cp .config config
3.3. # gzip config
3.3.1. This will create config.gz
3.4. # cp System.map sys_map
3.5. # gzip sys_map
3.5.1 This will create sys_map.gz
3.6. Go to arch/i386/boot/ (where bzImage is).
3.6.1 # cp bzImage linux
3.6.1.1 Note: if this was the 2.4 kernel, you would copy bzImage to “linux.bin”, but since this is the 2.2 kernel, you must rename bzImage to “linux”.
3.7. Go back to the top level directory of your kernel source and move the following files to the rescue (boot) floppy image:
3.7.1 mv config.gz /mnt/config.gz
3.7.2. mv sys_map.gz /mnt/sys_map.gz
3.7.3. mv arch/i386/boot/linux /mnt/linux
3.6. # umount /mnt
3.6.1 This will unmount the rescue.bin image.
4.0. Modules will not be loaded as the kernel has everything needed for the P70. So you will need to modify root.bin so it won’t ask for driver disks:
4.1. Go to the directory where root.bin is located
4.2. # mv root.bin root.bin.gz
4.3. # gunzip root.bin.gz
4.4. # mount -o loop -t auto root.bin /mnt
4.5. You will have to edit /mnt/sbin/dbootstrap and comment out the drivers.tgz lines
4.5.1. # vi /mnt/sbin/dbootstrap