Subject: port-i386/9676
To: None <gnats-bugs@netbsd.org>
From: IWAMOTO Toshihiro <iwamoto@sat.t.u-tokyo.ac.jp>
List: port-i386
Date: 04/19/2000 14:56:03
I could finally pinpoint the reason of boot failure from a partition
staring from >8G portion of disk.

Below is the revised version of fix. Without this patch, bootloader
tries to determine if the NetBSD partition can be accessed without LBA
addressing by looking at the fictious partition table residing in
the first sector of NetBSD partition. So this bug doesn't prevent
booting if this fictious partition table is correctly set by running
fdisk /dev/rwd0a (not /dev/rwd0d).


Index: sys/arch/i386/stand/lib/crt/bootsect/start_bootsect.S
===================================================================
RCS file: /export/NetBSD-CVS/syssrc/sys/arch/i386/stand/lib/crt/bootsect/start_bootsect.S,v
retrieving revision 1.16
diff -u -r1.16 start_bootsect.S
--- sys/arch/i386/stand/lib/crt/bootsect/start_bootsect.S	1999/08/23 08:24:37	1.16
+++ sys/arch/i386/stand/lib/crt/bootsect/start_bootsect.S	2000/04/19 05:02:19
@@ -231,7 +231,7 @@
 
 	data32
 	addr32
-	movl	8(%esi),%ebx
+	movl	%es:8(%esi),%ebx
 	data32
 	addl	$LOADSZ+1, %ebx	/* ebx = maximum sector # we need */
 
@@ -411,7 +411,7 @@
 
 eread:	.asciz		"Read err\r\n"
 enoboot: .asciz		"No NetBSD part\r\n"
-efail: .asciz		"Boot failed\r\n"
+efail: .asciz		"Boot fail\r\n"
 
 /* throw in a partition in case we are block0 as well */
 /* flag, head, sec, cyl, typ, ehead, esect, ecyl, start, len */