Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 May 1996 14:20:05 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        grog@lemis.de (Greg Lehey)
Cc:        terry@lambert.org, dutchman@spase.nl, freebsd-hackers@FreeBSD.org
Subject:   Re: Glitch in install procedure.
Message-ID:  <199605212120.OAA02080@phaeton.artisoft.com>
In-Reply-To: <199605211017.MAA23956@allegro.lemis.de> from "Greg Lehey" at May 21, 96 12:17:40 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> >> I just installed FreeBSD as a secondary OS on a machine. I dumped it into the
> >> upper 300 Mb of a 810 Mb disk. Funny thing is that neither the installation
> >> procedure, nor booteasy issued a warning that it would not be possible to
> >> actually boot from the partition, as it is beyond the reach of the BIOS.
> >
> > That's because it couldn't ask BIOS to tell it what was good.
> 
> No, but it could issue a warning.  Kees didn't ask for it to refuse to
> install.


Question: in order to warn you if absolute sector X is past cylinder
1024, it needs to:

	X%(H*S)		Remainder is H/S value
	X/(H*S)		Integer value is cylinder


So if it doesn't know the C/H/S geometry (sure, we can guess that
the BIOS geometry is the Adpatec geometry, but we need to be
prepared when it isn't), how can we say "cylinder past 1024"?

BSD drivers operate on absolute sectors (and *only* on absolute
sectors).  BIOS drivers operate on C/H/S values, thet the INT 13
interface translates into controller C/H/S values -- or absolute
sectors.  The controller that uses controller C/H/S values translates
them into -- absolute sectors.

The only way to know the BIOS C/H/S values for sure is to ask the
BIOS.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



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