Subject: port-i386/3407: pc/at BIOS of recent days can boot from many drives.
To: None <gnats-bugs@gnats.netbsd.org>
From: None <koji@math.human.nagoya-u.ac.jp>
List: netbsd-bugs
Date: 03/29/1997 20:54:25
>Number: 3407
>Category: port-i386
>Synopsis: pc/at BIOS of recent days can boot from many drives.
>Confidential: no
>Severity: non-critical
>Priority: high
>Responsible: gnats-admin (GNATS administrator)
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Sat Mar 29 04:20:02 1997
>Last-Modified:
>Originator: Koji Imada - je4owb/2
>Organization:
Mathematics Group of Graduate School of Human
Infomatics, Nagoya University, Japan.
>Release: 1.2_BETA
>Environment:
System: NetBSD bimota 1.2 NetBSD 1.2 (BIMOTA) #0: Fri Mar 28 07:10:55 JST 1997 koji@bimota:/mnt2/NetBSD/usr/NetBSD/src/sys/arch/i386/compile/BIMOTA i386
>Description:
Old pc/at BIOS can boot only from first or second HDDs. But
BIOS of recent days can boot from many drives. Limitation on
openrd in sys/arch/i386/boot/sys.c may be out of date.
This limitation remains in current of March 23, 1997.
>How-To-Repeat:
Just plug 3 or 4 IDE HDD, or 2 IDE HDD and any SCSI HDD. Then
type hd(3,a) or something like that in boot prompt. It can't
boot from third or fourth drive.
>Fix:
apply following diffs in /usr/src
*** ../../i386/boot/sys.c.orig Fri Mar 7 20:30:24 1997
--- ../../i386/boot/sys.c Sat Mar 29 20:46:17 1997
***************
*** 189,198 ****
* Look inside brackets for unit number, and partition *
\*******************************************************/
if (*cp >= '0' && *cp <= '9')
! if ((unit = *cp++ - '0') > 1) {
! printf("Bad unit\n");
! return 1;
! }
if (!*cp || (*cp == ',' && !*++cp))
return 1;
if (*cp >= 'a' && *cp <= 'p')
--- 189,195 ----
* Look inside brackets for unit number, and partition *
\*******************************************************/
if (*cp >= '0' && *cp <= '9')
! unit = *cp++ - '0';
if (!*cp || (*cp == ',' && !*++cp))
return 1;
if (*cp >= 'a' && *cp <= 'p')
>Audit-Trail:
>Unformatted: