Subject: Re: Problem booting NetBSD
To: None <kcorey@mail.dsp.uiowa.edu>
From: Bruce Walker <bmw@visgen.com>
List: netbsd-help
Date: 03/29/1997 18:32:18
Kirk Corey writes:
> 
> 1.  Works fine on an HP Vectra XM Series 3 (Pentium 75 MHz) machine,
> 
> 2.  Won't boot from either of these disks in either an HP Vectra VL Series
> 4 (Pentium 100 MHz) or HP Vectra VA (Pentium Pro 200 MHz).  When I try to
> boot, I get a message ("read error") and the machine hangs.  
> 
> Does anyone have any ideas about this?  I couldn't find anything in the
> FAQ about this.

I hit this in February; no, there's nothing in the FAQ.  I queried
the list and got the important clue:  some BIOSes (notably Phoenix)
return a bogus drive value just before the boot code.  So NetBSD
tries to boot from the floppy drive, even though it read the boot
record from the hd.  The fd isn't ready, so the machine halts.

The Series 3 HPs don't use the Phoenix BIOS, that's why *they* work.

Here's the brute-force patch I made to force the hd boot to succeed:
apply this to /usr/src/sys/arch/i386/boot/start.S, remake the boot
code and reinstall it with disklabel -B ...

*** usr/src/sys/arch/i386/boot/start.S  Wed Jan 18 12:34:18 1995
--- /usr/src/sys/arch/i386/boot/start.S Mon Feb 10 08:40:59 1997
***************
*** 110,115 ****
--- 110,117 ----
  #endif
  
        # bootstrap passes us drive number in %dl
+       movb    $0x80, %dl      # force hd0; PhoenixBIOS bug (bmw)
+       addr32                  # (bmw)
        cmpb    $0x80, %dl
        data32
        jae     hd


-bmw