Date: Fri, 17 Mar 95 10:52:33 MST From: terry@cs.weber.edu (Terry Lambert) To: gineoh@engin.umich.edu (david lawrence hoenig) Cc: bugs@FreeBSD.org Subject: Re: Can't install 2.0-RELEASE on EIDE HD Message-ID: <9503171752.AA29129@cs.weber.edu> In-Reply-To: <Pine.3.87.9503170638.A24278-0100000@steam.engin.umich.edu> from "david lawrence hoenig" at Mar 17, 95 06:37:38 am
next in thread | previous in thread | raw e-mail | index | archive | help
> I have read all the newsgroups on freebsd and I didn't see anything on > this so I'm asking you. I just got a DELL P75 w/ EIDE 1.0 gigabyte hard > drive. Here's the default CMOS geometry: > > cylndrs heads sectors size > 525 64 63 1083 megabytes > > problem is FreeBSD says it can't handle 64 heads and reverts to 16 in > which case it will then not boot from the hard disk. I have tried > setting the cmos to 16 heads and 2100 cylinders which seems to work for > BSD and allows me use of the entire disk, but then the DOS partition > doesn't work. I have tried writing my own partition table with different > geometry for the two partitions with little success. I was able to get BSD > to boot from the Hard disk, but dos would always have to be booted from a > floppy, and the two partions only totaled 800 of my 1000 megs. It > seems others would have encountered this problem and there must be an easy > fix that I am missing. Any suggestions would be _greatly_ appreciated. The BIOS based I/O uses C/H/S values to do it's I/O. The number of bits available in the BIOS I/O calls is insufficient to represent the number 64. BSD uses BIOS I/O to load its kernel. EIDE drives have an OnTrack or equivalent Master Boot Record that loads a redirector that extends the interface. What do you propose we do? The typical workaround is to reformat the drive to get rid of the MBR -- this is not a reversable process, unless you have the disks the OEM used to install it. I do *not* recommend it. The other workaround is to use the entire disk for BSD (effectively the same thing). The reason both of these work is that BSD itself is capable of addressing more than 1024 cylinders. This still imposes a limit of 512M, since the WD interface is expected to be an extention of the ATA, which is to say, limited to 10 bits of cylinder decode. Someone needs to reimplement the EIDE sector addressing extensions that the EIDE drive boot record or EIDE ROM redirector installed by the controller POST routine uses to access more than the legal limit on drive space. If you can find the standards documents and someone familiar with BSD coding that has an EIDE drive, your problem will probably be solved in short order. The Catch-22 here is that people familiar with BSD coding don't buy EIDE drives. Some thought is currently going into how to organizationally support developement of drivers for orphan hardware, possibly by having a common-to-all-BSD's consortium buy the hardware for willing programmers, but nothing has been formalized so far. Until something like that happens, you will probably not be able to use EIDE drives fir FreeBSD, NetBSD, or even BSDI. Regards, Terry Lambert terry@cs.weber.edu --- 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?9503171752.AA29129>