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