[CLUE-Tech] LILO Boot Problem
David Anselmi
anselmi at americanisp.net
Wed Feb 12 11:08:33 MST 2003
Randy Arabie wrote:
[...]
> I found a lot of helpful info in /usr/share/doc/lilo/Manual.txt.gz
>
> There was no mention of a "large" option there or in the man pages. I
> tried "linear" but got the same results as with "lba32". If you do not
> specify either, lilo assumes "lba32".
>
> I added a section on geometry, which explicitly defines my HD's
> geometry. That didn't make a difference. I tried both the "linear" and
> "lba32" options with and without the geometry.
The problem you are having is that the first stage boot loader loads
(out of the boot sector) and then can't find the second stage. That's
why you get just the "L" in "LILO". There are two possibilities.
One is that your lilo.conf is updating the boot sector in your first
partition (hda1) but your bios is booting off the MBR. In that case,
your MBR is out of date and doesn't work. You can fix this by changing
boot=/dev/hda1
to
boot=/dev/hda
I'm not sure how the bios knows to boot off hda1 rather than hda (they
both have boot sectors). Perhaps it's the "bootable" flag in the
partition table. I always boot off the MBR so I don't worry about
bootable flags. In any case, change the above line, run lilo, reboot.
If that doesn't fix it, my guess is that your hda1 is larger than 1024
cylinders and your bios can't address all of it. Lilo uses the bios to
load the second stage loader and the kernel and it does that by making
bios calls to read disk blocks.
The standard fix for this is to make a boot partition within the first
1024 cylinders (fdisk will show you cylinder numbers). Another fix,
since your bios seems to understand LBA might be to convince it to use
LBA for your disk (it may not matter that the bios geometry doesn't
match the label geometry, as long as the bios autodetects it and the
size matches).
I haven't used grub, but if it is not limited to 1024 cylinders by the
bios using it may be the easiest fix.
Finally, you might check the drive jumpers. Last installfest we had a
drive that seemed to be jumpered correctly but fdisk and the kernel were
convinced it was 2GB, not 6GB. Eventually we discovered that the jumper
label was upside down compared to the jumpers so we didn't actually have
it jumpered right.
Good luck and let us know what you find. Come to installfest if you're
still stuck.
>
> I think my options are:
>
> --Repartition the disk, creating smaller partitions that the bios can
> handle. Maybe a /, /boot, and /var (in addition to my swap).
It isn't partition size, but location at the front of the disk that matters.
As you say, boot floppies are not a bad option. Be sure to change
lilo.conf to say "boot=/dev/fd0" if you leave it that way so your floppy
gets updated next time you change kernels.
Dave
More information about the clue-tech
mailing list