From nobody@FreeBSD.ORG Sun Jun 20 18:04:52 1999
Return-Path: <nobody@FreeBSD.ORG>
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id E4F0C14BF6; Sun, 20 Jun 1999 18:04:51 -0700 (PDT)
Message-Id: <19990621010451.E4F0C14BF6@hub.freebsd.org>
Date: Sun, 20 Jun 1999 18:04:51 -0700 (PDT)
From: richw@webcom.com
Sender: nobody@FreeBSD.ORG
To: freebsd-gnats-submit@freebsd.org
Subject: install fails on system with old IDE hard drives
X-Send-Pr-Version: www-1.0

>Number:         12315
>Category:       kern
>Synopsis:       install fails on system with old IDE hard drives
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    rnordier
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jun 20 18:10:01 PDT 1999
>Closed-Date:    Mon Jun 21 11:28:33 PDT 1999
>Last-Modified:  Sun Jun 27 10:20:01 PDT 1999
>Originator:     Rich Wales
>Release:        3.2-RELEASE
>Organization:
>Environment:
N/A
>Description:
I tried to install 3.2-RELEASE on a 486 system with two "old" IDE hard
drives that do not support the WDCC_READP command.  The drive geometries
are specified in the BIOS setup.

3.2 detected the existence of the two drives (wd0/wd1), but it ignored
the BIOS geometry info and said it was using "fake" geometry values.
Subsequent attempts to find the drives' real geometry info failed, and
the installation process died with a "Going nowhere without my init!"
kernel panic after /stand/sysinstall exited prematurely.

An attempt to install 3.1-RELEASE failed in the same way.  2.2.7-RELEASE
(previously installed) works just fine on this system, however, and the
2.2.8-RELEASE installation code appeared to work fine too.  So it looks
like the bug arose somewhere between 2.2.8 and 3.1.

After the kernel panic, I switched to the debugging log (ALT-F2) and saw
the error "sysinstall: read: no such file or directory".  I restarted
the 3.2-RELEASE installation kernel with the "-v" boot flag, and this
time, the debugging log also included numerous messages such as "wd0:
invalid primary partition table: no magic".
>How-To-Repeat:
Try to install 3.2-RELEASE (or 3.1-RELEASE) on a system with an "old"
IDE hard drive that doesn't support automatic geometry detection.
>Fix:
Either replace the hard drive(s) with a newer drive, or else be content
to run 2.2.8-RELEASE and forget about upgrading to 3.x versions.

>Release-Note:
>Audit-Trail:

From: Rich Wales <richw@webcom.com>
To: Bruce Evans <bde@zeta.org.au>
Cc: freebsd-gnats-submit@freebsd.org
Subject: Re: kern/12315: install fails on system with old IDE hard drives
Date: Sun, 20 Jun 1999 22:16:45 -0700 (PDT)

 Bruce --
 
 It looks like the problem is in the 3.x boot code.
 
 I created a boot floppy with the new boot code and the 2.2.7 kernel that
 already runs OK on the 486 system in question.  It loaded the kernel OK,
 but as the kernel was running through all the devices on the system, it
 said it would use "fake" disk geometry values for wd0 and wd1.  It soon
 thereafter died with a "no init" panic.
 
 Rich Wales         richw@webcom.com         http://www.webcom.com/richw/
 
 
Responsible-Changed-From-To: freebsd-bugs->rnordier 
Responsible-Changed-By: sheldonh 
Responsible-Changed-When: Mon Jun 21 09:29:01 PDT 1999 
Responsible-Changed-Why:  
Robert knows the new boot code like the back of his hand. 
State-Changed-From-To: open->closed 
State-Changed-By: sheldonh 
State-Changed-When: Mon Jun 21 11:28:33 PDT 1999 
State-Changed-Why:  
Fixed by rnordier in the following: 
rev 1.24 src/sys/boot/i386/libi386/biosdisk.c 
rev 1.20 src/sys/boot/i386/libi386/bootinfo.c 
rev 1.9  src/sys/boot/i386/libi386/libi386.h 

Thanks for the report. 

From: Rich Wales <richw@webcom.com>
To: freebsd-gnats-submit@freebsd.org
Cc:  
Subject: Re: kern/12315: install fails on system with old IDE hard drives
Date: Sun, 27 Jun 1999 10:01:36 -0700 (PDT)

 In order to get the above fixes to /boot/loader to compile, I
 needed to install one one additional update w/r/t 3.2-RELEASE:
 
 rev 1.15 src/sys/sys/linker.h
 
 This update includes a declaration of the symbol MODINFO_ARGS,
 which is used in the updated "bootinfo.c".
 
 Rich Wales         richw@webcom.com         http://www.webcom.com/richw/
 
 
>Unformatted:
