Matt Hyne wrote: > > I have been having trouble getting a machine to boot lilo (or anything > from HDD) after an install of RH7.3. > > Lilo is installed (and I ran it again for good measure) but the only way > I can get linux to boot is to use the boot floppy I created at install > time.
LILO is a 16-bit program which only uses BIOS services. So issues like Linux support for the SCSI driver don't enter into the picture at that stage of the boot process. Your SCSI card should contain a boot BIOS, this is detected by the motherboard's BIOS when the machine boots. The motherboard BIOS will call the SCSI card's BIOS to spin up the drive as the machine boots. You should see the disk lights flash. Later the motherboard BIOS will go looking for a bootable drive, it will start with the motherboard (IDE) drives and, if there is no bootable drive on that controller, try each of the controllers on the ISA/PCI bus. The SCSI controller's BIOS will provide the motherboard BIOS with facilities to di disk I/O -- in this case to read the partition table and the boot block. LILO should be loaded from that boot block. LILO will use calls to the motherboard BIOS to do disk I/O. If the LILO's I/O request refers to the SCSI drive then the motherboard BIOS will call the SCSI controller BIOS to satisfy that I/O request. LILO will load the Linux image, and then jump to a particular address in that image. Linux will then be running in 16-bit mode. It will move to 32-bit mode, at which stage the 16-bit BIOS calls are no longer accessible and Linux had better have a 32-bit device driver 'module' for your SCSI controler handy (usually in initrd, a initial RAM drive loaded by LILO along with the Linux image). ------- Since when Linux boots from the floppy and can access the SCSI disk we can assume that the SCSI controllr device driver module exists and works. So the most likely cause of failures from your description are: - The SCSI controller's BIOS is not activated. You usually do this by pressing a magic key chord during the boot process, which enters a configuration dialogue. The option might be called "boot BIOS" or "boot ROM". You want it on. You can only turn this on for one SCSI controller in your system. - Your controller actually has a DIP socket for a boot ROM, but no boot ROM is in the socket. This is only likely if your controller is old. - You have exceeded the BIOS limitations on searching for a bootable drive. You can only boot from the first two motherboard devices or the first two controller devices. So if you have a SCSI bus with 3 disks, the bootable disk had better not be the last SCSI disk discovered by the SCSI controller -- you influence the disk discover order by using the SCSI ID. All this assumes that you have no SCSI issues. Note the SCSI bus settings from the running Linux system. Configure the SCSI controller BIOS to have the same settings. Regards, Glen -- SLUG - Sydney Linux User's Group - http://slug.org.au/ More Info: http://lists.slug.org.au/listinfo/slug