NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: install/46027: First stage bootloader (bootxx_ffsv2) on i386 broken for Soekris net4801



I just had the same problem on a Soekris net4501, but solved it with the following patch. The sector size was being changed to crazy values---in one instance to 0 and in another instance to 4. I'm not sure that 512 is the right limit here, and I didn't investigate why it was coming back with crazy values; but this did make it work for me.

Take care,

-----------------------------------------------------------------------
Konrad Schroder              Box 352143 -or- 215 Fluke Hall, Mason Road
Linux System Administrator                     University of Washington
College of Engineering                          Seattle, WA, 98195, USA

----
Index: sys/arch/i386/stand/lib/biosdisk.c
===================================================================
RCS file: /cvsroot/src/sys/arch/i386/stand/lib/biosdisk.c,v
retrieving revision 1.40
diff -u -r1.40 biosdisk.c
--- sys/arch/i386/stand/lib/biosdisk.c  16 Jan 2012 18:47:57 -0000      1.40
+++ sys/arch/i386/stand/lib/biosdisk.c  30 May 2012 22:52:37 -0000
@@ -316,7 +316,8 @@
        gptsector[0] = GPT_HDR_BLKNO;
if (set_geometry(&d->ll, &ed) == 0 && d->ll.flags & BIOSDISK_INT13EXT) {
                gptsector[1] = ed.totsec - 1;
-               d->ll.secsize = ed.sbytes;
+               if (ed.sbytes >= 512)
+                       d->ll.secsize = ed.sbytes;
        } else {
 #ifdef DISK_DEBUG
                printf("Unable to determine extended disk geometry - "


Home | Main Index | Thread Index | Old Index