Subject: Re: New IDE controller.
To: None <port-i386@netbsd.org>
From: David Laight <david@l8s.co.uk>
List: port-i386
Date: 02/24/2002 22:38:47
On Sat, Feb 23, 2002 at 05:37:46PM -0600, Richard Rauch wrote:
> 
> I returned the Highpoint and exchanged it for a Maxtor ATA/100 PCI card.
> 
> When boot from the hard disk, the boot-selector still dies.  (It prints a
> ``3'' when I push F4 for the NetBSD partition, then dies.)

Are you absolutely sure you have written the bootloader to the first
sector of the partition?

Error 3 indicates a succesful disk read (using the PC BIOS - which
should have offloaded it to the card BIOS), but that the sector read
didn't end 0x55 0xaa.

Are you booting a partition that is within the first 8Gb?
That read will normally be done using a CHS (cylinder, head, sector)
read.  However if netbsd had the wrong bios remap for CHS - LBA
then it might reference the wrong sector (possible if the disk was
formatted on a different BIOS).
You can force the bootcode to do a LBA read by changing offset 0x195
in the boot block.  Eg by:

 dd if=/dev/rwd0d of=zz count=1
 print -n \\07 | dd conv=notrunc bs=1 seek=405 count=1 of=zz
 dd if=zz of=/dev/rwd0d count=1

FWIW,	1 => enable bootsel
	2 => enable LBA if supported by BIOS (set, but never cleared
		by standard fdisk)
	4 => force LBA regardless of sector # - my 'development' bootsel
		code (ignores bit value 2)

	David

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