Subject: Re: i386 booting, take 2
To: None <root@ihack.net>
From: Phil Nelson <phil@steelhead.cs.wwu.edu>
List: tech-install
Date: 09/20/1998 21:20:10
>* Make the boot program (both stages) use the BIOS extensions for
>  large disks, if available, and query the current CHS translation if
>  not.

Good.

>* Incorporate the method I suggested of matching BIOS geometries to
>  disks, so that the defaults we choose are right for almost everyone.

No, I don't agree with this method for the following reasons:

	a) It may force 4k frags
	b) I have seen many times that the BIOS geometries do not
	   address the real capacity of the disks.  Currently,
	   sysinst allows the user to choose a fake geometry that
	   addresses more than the reported SCSI geometries address.
	   If it is appropriate to do something similar for lba
	   IDE drives then we should do it.
	c) The only reason to need the BIOS geometry is to make sure
	   the MBR has the proper values in it so the boot process
	   can get direct access to NetBSD boot program.

>* Make sysinst know about all this crap:

Here is what I'd like to be able to access from sysinst:

	a) For each disk, the reported geometries from the device
	   including the true capacity.  (From an IOCTL.)

	b) An IOCTL that returns the BIOS geometries for the first
	   n disks.  (The first n BIOS disks ... with no attempt
	   to match BIOS disks to NetBSD disks.)

	c) Whether the BIOS has extensions for large disks.  (IOCTL?)

With that information sysinst should be able to be 100% accurate on
the following:

	a) all 1 disk installations
	b) all multi disk installations where disk sizes differ by
	   many megs.
	c) all multi disk installations where all the fake BIOS
	   geometries use the same Head/Sector values.

That leaves only multi disk installations where disk sizes are the
same or very close so that it is hard match a disk to the geometries.
Also, the H/S geometries would have to be reported differently.  I
suspect that this case is VERY rare and in this case, sysinst could
ask for help.

On another note, I have interacted with BIOSes that will not tell me
the BIOS geometry.  In the setup menus, the disks are listed by their
real geometry and no matter what I did, I could not get the BIOS to
tell me the fake geometry it used.  The only I got the fake BIOS 
geometry was to pfdisk the disk and see what it said.  So asking
a user to get the BIOS geometry from the setup menus may not always
work.

-- 
Phil Nelson
phil@steelhead.cs.wwu.edu (NetBSD/pc532 machine)
phil@cs.wwu.edu (work)
http://www.cs.wwu.edu/~phil