*BSD News Article 3948


Return to BSD News archive

Path: sserve!manuel!munnari.oz.au!mips!mips!swrinde!zaphod.mps.ohio-state.edu!moe.ksu.ksu.edu!maverick.ksu.ksu.edu!news
From: brtmac@maverick.ksu.ksu.edu (Brett McCoy)
Newsgroups: comp.unix.bsd
Subject: Re: Endless boot cycle- suggestions?
Message-ID: <17092lINNju6@maverick.ksu.ksu.edu>
Date: 20 Aug 92 14:09:25 GMT
References: <Aug.14.12.34.42.1992.8037@action.rutgers.edu> <45240001@hpycla.kobe.hp.com>
	<Aug.18.17.41.42.1992.4915@action.rutgers.edu>
	<1072@galileo.rtn.ca.boeing.com>
Organization: Kansas State University
Lines: 56
NNTP-Posting-Host: maverick.ksu.ksu.edu
In-reply-to: dmp3592@galileo.rtn.ca.boeing.com's message of 19 Aug 92 16:28:05 GMT

In article <1072@galileo.rtn.ca.boeing.com> dmp3592@galileo.rtn.ca.boeing.com (Dean M. Phillips) writes:


>A disk drive which does geometry translation will hopelessly confuse
>386BSD.
>
>Background:
>
>MessDOS has a hard limit of 10 bits for a cylinder number.  This
>prevents MessDOS from accessing cylinders beyond 1023.  Most large hard
>disks have more than 1024 cylinders.
>
>So, to make these disks useable with MessDOS, the disk drive
>manufacturers invented geometry translation.  The way this works is the
>drive says that it has more heads than it really does, and less
>cylinders than it really does, so that the total number of sectors
>comes out the same but with less than 1024 cylinders.  When MessDOS
>asks for a particular track, sector, and cylinder, the drive silently
>translates this to the real location.  "Brain damage begets brain
>damage."
>
>386BSD gets the geometry and its partition info from the partition
>table and then TURNS OFF GEOMETRY TRANSLATION.  If geometry translation
>was on in the first place, 386BSD will get hopelessly lost, fail to
>find its disk label and panic.

This is not totally true.  I have a MAXTOR 7120/A IDE drive that has a
true geometry of 1516 cyl, 4 heads and 42 sec/track.  However, there
are a couple jumpers on it that you use to set the geometry that it
reports when asked, one of which is 935 cyl, 16 heads and 17
sec/track.  You can set the geometry to be anything in the BIOS so
long as the total number of sectors comes out <= the real number.

My problem in getting 386BSD up was that I was using the above
geometry in the BIOS, but the jumpers were set for a 1024 cyl, 16
head, 14 sec/track geometry.  This did not make any difference until I
tried using 386BSD.  The disklabel program on the fixit disk showed
the geometry as reported by the drive and not the BIOS settings.
Although I could get it to write a disklabel at the right place with
the right stuff in it, it could never find it at boot time.

I finally figured this out last night and shorted the jumpers to make
the drive say that it had 935 cyl, etc.  Now it all works fine, and it
is using geometry translation.  My drive does not have any way to shut
it off as far as I can tell.  It gives you a choice of 4 different
translations, settable by jumpers, but none of them are for the real
geometry.

I'm sure this isn't the same for all drives.  Some probably always
return the real geometry when asked.  The MAXTOR just has a different
idea of what REAL is.

++Brett;

BTW, I have spec sheets for the 7120/A.  If anyone would like info
like what the jumper settings are or anything like that, send me mail.