Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Jan 1996 15:30:54 +1100
From:      Bruce Evans <bde@zeta.org.au>
To:        bde@zeta.org.au, terry@lambert.org
Cc:        freebsd-hackers@FreeBSD.ORG, jkh@time.cdrom.com, obrien@cs.ucdavis.edu, phk@critter.tfs.com
Subject:   Re: X for install
Message-ID:  <199601040430.PAA11885@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199601040430.PAA11885>