Subject: Re: bootloader doesn't work from hd, works from cdrom
To: Oscar Fuentes <ofv@wanadoo.es>
From: David Laight <david@l8s.co.uk>
List: netbsd-help
Date: 01/16/2005 20:57:04
On Sun, Jan 16, 2005 at 06:34:21AM +0100, Oscar Fuentes wrote:
> 
> I'm a NetBSD newbie and just installed 2.0 on an old Pentium 133MHz
> machine with a Fujitsu MPC3084AT hard disk (8.5 MB, 1027
> cylinders). The installation uses just the first 1024 cylinders to
> avoid potential problems with the BIOS.
>
> When booted from hd, the bootloader reports "Error L". However, if I
> insert the NetBSD cdrom and boot from it (pressing a key before NetBSD
> starts from the cdrom and typing "boot hd0a:netbsd") everything seems
> to work fine.
> 
> How can I fix the hd bootloader?
> 
> Is this behavior an indication of some other problem with the hd?

Error 'L' means that the boot code decided that it needed to do
LBA reads, but that the bios doesn't support them (quite likely).

The boot code requests the disk geometry from the bios, uses that to
convert the CHS values for the partition start to an LBA address, and
compares it to the LBA sector number in the label.  If they don't match
it tries to do LBA reads...

If your netbsd partition starts at the beginning of cylinder 0, head 1
(which is where it normally ends up), then this should only happen if
the number of sectors/track is wrong.  On modern bios this is almost
always 63, but the old bios probably has several (variably useless)
options (eg LBA, LARGE, AUTO) for disk translatios, which may result
is a different sectors/track depending on the geometry the disk itself
reports.

I'd check that the bios geometry (eg reported by fdisk) matches the
CHS and LBA values (fdisk -v) for the netbsd partition.

	David

-- 
David Laight: david@l8s.co.uk