Red Hat Bugzilla – Bug 7123
lilo installs bad boot loader with 4 disks + good BIOS
Last modified: 2008-05-01 11:37:53 EDT
This problem is not what it first seemed (BIOS unable to talk to 4 disks).
My system has 4 disks, 2 SCSI (ID 0 and 1) and 2 IDE (hda and hdc). / is
on sda5, and /boot is on sda1, which is in cylinders 1 and 2 only. I'm
using the MBR in sda and the BIOS is set to boot off SCSI, not IDE. The
BIOS can talk to all disks. This worked fine in 5.0, which I ran for 2
years with this boot disk, a Seagate Cheetah 4.1 GB UWSCSI on a
motherboard-resident aic7xxx. It's an AMI BIOS vintage 9/1997 on a
SuperMicro dual-CPU motherboard.
Under 6.1, running lilo (accepting the "not first disk" warning) and
rebooting gives a "LI" boot hang. I have not moved /boot/boot.b since
running lilo, and there is no indication that the geometry is being
reported incorrectly. So, I disable IDE and mark the 2 IDE disks as "not
installed" in the BIOS, and boot off a floppy (booting off the floppy works
fine no matter what). I run lilo again with the same lilo.conf. I go into
the BIOS, enable the IDE disks, and it boots fine, with all 4 disks, just
like it used to.
I bought the two IDE disks recently, likely since my last time running lilo
under 5.0, so it's possible this problem is not new. Clearly, lilo is
installing two different bits of code into the sda MBR, depending on
whether there are other disks present. However, the code installed with
just SCSI disks works fine with both SCSI and IDE disks present and the
BIOS set to boot off SCSI. The code installed with SCSI and IDE disks
present doesn't work at all. I know Red Hat doesn't officially support the
configuration I have (boot off SCSI with 2 IDE disks present), but since
it's clearly a bug I figured I'd report it. I'm configured as I am because
I need the largest contiguous disk partitions possible, so my little SCSI
disk is the right place for the OS and boot. I discovered the problem when
I installed 6.1 and then couldn't boot, when it had worked before.
I am not shure that this can help to you, but I have the same LI freeze screen
when booting from SCSI disk (wel, I do not have IDE disks). I add the 'linear'
option to the lilo file and boot works fine. I have now some problems with the
SMP booting but this is another story.
Here are first lines of my /etc/lilo.conf file
I can confirm that there appears to be a lilo bug in systems that have both IDE
and SCSI hard drives, and which boot off of the SCSI drives. I have an ABIT BP6
(dual Celeron 366) with two PCI SCSI adapters (Adaptec 2930U and BusLogic BT-
930), as well as the on-board PIIX4 and HPT366 IDE adapters. (Whew!) I have a
DAT drive (st0) and a CD-ROM drive (sr0) attached to the Adaptec, two hard
disks (sda and sdb) attached to the BusLogic, and one hard disk (hda) attached
to the PIIX4. (I don't use the HPT366 adapter.)
I have WinNT Workstation 4 SP5 installed on sda and use its boot loader to
choose between it and Linux. I performed a custom install with RH 6.1 (retail)
and the updated boot disk. The install went fine and created a boot floppy
which always lets me boot to Linux, but all I ever got was "LI" when trying to
boot to Linux without the floppy.
After reading this bug report I disabled the PIIX4 in my BIOS, booted to Linux
via floppy, re-ran LILO, rebooted to NT, ran bootpart, rebooted again, selected
Linux from the NT loader, still got stuck at "LI". Damn.
Powered down, opened my case, unplugged the power cable from the IDE drive, re-
ran LILO and bootpart, selected Linux from the NT loader. Worked! (Had to
comment-out hda from fstab, though, before I could make it to runlevel 5.)
Here's my lilo.conf:
Note that I used to have "disk=/dev/sdb bios=0x82" in there because lilo
would complain that it might not be able to see sdb. Lilo doesn't seem to need
this statement in there anymore, though.
Assigned to dledford
If you have both IDE and SCSI hard drives, then you need to add map statements
to the lilo.conf to get it to properly figure out device ordering.
Unfortunately, there's no way to reliably get boot device ordering information
on x86 platforms