*BSD News Article 40585


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.mira.net.au!otis.apana.org.au!serval.net.wsu.edu!netnews.nwnet.net!oracle.pnl.gov!osi-east2.es.net!lll-winken.llnl.gov!ames!agate!howland.reston.ans.net!news.sprintlink.net!hookup!news.kei.com!ddsw1!not-for-mail
From: chilton@MCS.COM (Christopher Hilton)
Newsgroups: comp.os.386bsd.questions
Subject: Re: Large IDE Hard drives with FreeBSD 2.0?
Date: 9 Jan 1995 11:10:57 -0600
Organization: /usr/lib/news/organi[sz]ation
Lines: 54
Message-ID: <3erqn1$7p7@Mercury.mcs.com>
References: <kientzleD23xyp.64G@netcom.com>
NNTP-Posting-Host: mercury.mcs.com

In article <kientzleD23xyp.64G@netcom.com>,  <kientzle@netcom.com> wrote:
>After noticing lots of comments about the inherent evils of geometry
>translation, is it possible/wise to use large IDE drives with FreeBSD
>2.0?  My (admittedly poor) understanding of IDE interfaces is that
>drives over about 528 megs require geometry translation to be usable.
>Or do larger drives do the translation on the drive, transparently
>to the system?
>

I would think that the easiest way to use one of these drives would
depend largely on how much of it you want to give to MS/DOS and
whether or not you have already installed DOS on the machine. The
Enhancement of the IDE spec concerned two area of IDE, poor
Performance, and Disk Size limitations. The Disk Size limitiation is
due to the fact that the BIOS treats IDE drives like large floppy
drives and limits the number of cylinders to 1024, the heads to 16,
and the sectors per track to 63. If you multiply this out you get 504
* 1024^2 Bytes. The IDE interface follows this by allowing a maximum
of 16 heads but using translation for the cylinders and sectors per
track. In fact several IDE disk drives smaller than 504 MB have more
thatn the BIOS maximum 1024 cylinders but are completely accessable to
DOS through the magic of tranlsation. If you have a new IDE drive and
you are willing to limit your DOS partition to 484 MB then you can
have a 20 MB FreeBSD /root or /stand partition for your kernel and
have all of the space above 504 MB for FreeBSD since it doesn't use
the BIOS.

Example, I buy a 730 MB drive for DOS and FreeBSD. In the BIOS on my
machine I use the "user defined" drive geometry disk drive paramter
for this drive and tell the BIOS that it has 1483 cylinders, 16 heads,
63 sectors per track. Then I give MS-DOS all but the last 20 MB
(cylinders 0 - 974) I give FreeBSD the rest (cylinders 975 - 1482) and
when I disklable the drive I make sure the root partition lies on
cylinders 975-1023. Why do I have to do this, because FreeBSD needs
the BIOS to load the kernel so the kernel and root filesystem have to
be completely accessable to the BIOS. Because of the earlier
limitation this means that the root partition must lie below cylinder
1024.

Obviously this only works if you haven't installed or can re-install
MS-DOS into the space below cylinder 975. Not-so obvious is the fact
that these translation parameters may turn off the performance
enhancements that are built into the new E-IDE drives.

C.
-- 
Christopher Sean Hilton	                       E-mail: chilton@mcs.com
----------------------------------------------------------------------
ICBM address:           | "Thus it is said if you know them and know 
  42 07 39 N/87 49 44 W | yourself, your victory will not be imperiled.
For PGP key finger:     | If you know Heaven and you know Earth, your 
     chilton@mcs.com    | victory will be complete." - Sun Tsu
----------------------------------------------------------------------