System Architecture: Intel
RedHat Release: RHL 5.2
FAQ Category: Installing Issues
Modification Date: Feb 12, 1999
A standard 5.2 workstation install was done on a machine with an aic7770 scsi controller for the hard disk. This was accomplished using the recently updated boot disk image from RedHat. The installation worked, but was not bootable from either floppy or hard disk. Both LILO images contained the older version of aic7xxx.o
The new version of aic7xxx.o is buried in the initrd.img file on the new boot disk. By making a rescue disk from the CD (either on another linux or DOS machine) and booting from the new boot disk image, the aic7xxx.o file can be extracted and placed inside the initrd-2.0.36-0.7.img file on the hard disk. Use lilo to fix the boot sector and the hard disk is bootable. (I didn't say it was easy!) If you didn't follow that I will sketch out the steps: 1. Get the new boot disk image from Red Hat. Put it on a floppy using the tools found on the 5.2 install CD. 2. While you are making floppies, make a rescue floppy from images/rescue.img on the 5.2 install CD. 3. Install Red Hat 5.2 onto your scsi hard disk using the new boot disk. Do a workstation install. Don't bother creating a rescue diskette at this point -- it won't work anyway. 4. Boot from the new boot diskette again, only type "rescue" at the boot: prompt this time. Insert the rescue diskette when prompted for a root floppy disk. Eventually you will get a bash# prompt. The easy part is over. 5. Create a filesystem to hold some temp files: dd if=/dev/zero of=/dev/ram1 bs=1k count=3000 mke2fs /dev/ram1 3000 mount /dev/ram1 /tmp 6. Reinsert the new boot diskette and get aic7xxx.o out of the initrd.img file: mknod /dev/fd0 b 2 0 mount /dev/fd0 /mnt/floppy gunzip </mnt/floppy/initrd.img >/tmp/initrd dd if=/tmp/initrd of=/dev/ram2 bs=1k count=2000 mount /dev/ram2 /mnt/image /mnt/image/bin/insmod /mnt/image/modules/aic7xxx.o mkdir /mnt/root mount /dev/sda5 /mnt/root mount /dev/sda1 /mnt/root/boot cp /mnt/image/modules/aic7xxx.o /mnt/root/lib/modules/2.0.36-0.7/scsi umount /dev/ram2 rm /tmp/initrd umount /dev/fd0 7. Insert aic7xxx.o into the initrd on the hard disk and run lilo: gunzip </mnt/root/boot/initrd-2.0.36-0.7.img >/tmp/initrd dd if=/tmp/initrd of=/dev/ram2 bs=1k count=1500 mount /dev/ram2 /mnt/image cp /mnt/root/lib/modules/2.0.36-0.7/scsi/aic7xxx.o /mnt/image/lib umount /dev/ram2 rm /tmp/initrd dd if=/dev/ram2 of=/tmp/initrd bs=1k count=1500 gzip -9 </tmp/initrd >/mnt/root/boot/initrd-2.0.36-0.7.img /mnt/root/sbin/lilo -r /mnt/root umount /dev/ram1 umount /dev/sda1 umount /dev/sda5 exit 8. The hard disk should now be bootable. Use mkbootdisk to make a floppy bootdisk once you get booted. Then download and apply the kernel upgrade to the system and make yet another boot floppy. I am guessing that this sort of approach could be used with most 2.x kernels but I just don't know... The /dev/sda* numbers would probably change for a server install or other custom install. But probably you could figure these out.
Look in the doc directory of the Insall CD for info about rescue disks. Look in the /usr/rsc/linux/Documentation directory for info about ramdisks. Look at the Red Hat site to find the latest boot floppy images.