From owner-freebsd-hackers Wed Jan 3 20:42:42 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id UAA08943 for hackers-outgoing; Wed, 3 Jan 1996 20:42:42 -0800 (PST) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id UAA08924 for ; Wed, 3 Jan 1996 20:41:51 -0800 (PST) Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id PAA11885; Thu, 4 Jan 1996 15:30:54 +1100 Date: Thu, 4 Jan 1996 15:30:54 +1100 From: Bruce Evans Message-Id: <199601040430.PAA11885@godzilla.zeta.org.au> To: bde@zeta.org.au, terry@lambert.org Subject: Re: X for install Cc: freebsd-hackers@FreeBSD.ORG, jkh@time.cdrom.com, obrien@cs.ucdavis.edu, phk@critter.tfs.com Sender: owner-hackers@FreeBSD.ORG Precedence: bulk >> If you disabled the drive then both probing the drive and reading it >> will fail. It isn't fair to ask FreeBSD to determine the BIOS geometry >> in that case. The geometry might depend on how the drive is enabled >> (with or without boot manager...). >Determine if it has a partition table. >If it has a partition table, determine if it has DOS partitions. >If it has DOS partitions, then find them on the disk. Drivers already do this, but it's almost irrelevant to finding the geometry that the BIOS would use. >Make sure the 32 bit absolute sector address in the partition table >entry is correct. It won't be for DOS fdisk versions before 3.0x, >and some utilities don't set it correctly. Such drives aren't supported. Checking the absolute sector address requires knowing the BIOS geometry. Drivers already check it, based on the guessed BIOS geometry, but since the BIOS geometry isn't known for sure, inconsistencies aren't fatal, and since some users don't like to see warnings at boot time, warnings about the inconsistencies are disabled. >Fix the checksum after the AA55 (why isn't this done now?). There's no space after the AA55 :-). >Then from protected mode *always* use the 32 bit sector offset >instead of the C/H/S value. This has been done for a year. >For DOS partition mounting, note that the partitions start/stop on >an even cylinder boundry and use this information to determine C/H/S >geometry (only works if you have the 32 bit offset and size already). This has been done for a year, but only works for partitions that start and stop on an even cylinder boundary. Depending on it to work causes part of the current confusion about configuring the partition table at install time. The main point of knowing the BIOS geometry is to install on disks unknown to the BIOS. "It isn't fair to ask FreeBSD to determine the BIOS geometry in that case." >Much of this is documented in the PReP standard, which requires the >use of the 32 bit offset/size value for PPCBug and for OpenBoot. The DOS3.x behaviour is the defacto standard. Bruce