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 ----------------------------------------------------------------------