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
The following reply was made to PR install/46027; it has been noted by GNATS.
From: Konrad Schroder <perseant%uw.edu@localhost>
To: gnats-bugs%gnats.netbsd.org@localhost
Cc: install-manager%netbsd.org@localhost, gnats-admin%netbsd.org@localhost,
netbsd-bugs%netbsd.org@localhost
Subject: Re: install/46027: First stage bootloader (bootxx_ffsv2) on i386
broken for Soekris net4801
Date: Wed, 30 May 2012 15:59:07 -0700
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