Return to BSD News archive
Path: sserve!manuel!munnari.oz.au!uunet!bcstec!galileo!dmp3592 From: dmp3592@galileo.rtn.ca.boeing.com (Dean M. Phillips) Newsgroups: comp.unix.bsd Subject: Re: Endless boot cycle- suggestions? Summary: Make all the geometries match. Keywords: IDE boot geometry translation Message-ID: <1095@galileo.rtn.ca.boeing.com> Date: 26 Aug 92 15:25:49 GMT References: <45240001@hpycla.kobe.hp.com> <Aug.18.17.41.42.1992.4915@action.rutgers.edu> <1072@galileo.rtn.ca.boeing.com> Organization: Boeing Commercial Airplane Group, Seattle Lines: 81 This is a correction to and an expansion on my previous article. Since my original article I have had some conversations with some local IDE drive wizzards and Maxtor trying to understand what was going on. In these conversations I learned that: 1) My Maxtor 7120AT ALWAYS is in some kind of translation mode. 2) The default geometry is jumper selectable between four different options. 3) The computer can tell the drive to be any one of the available geometries that it wants (and possibly others) as long as the total number of sectors comes out about right and the drive will translate as required. 4) On a DOS machine, the BIOS resets the drive and then sets it to translate from whatever geometry is in the CMOS. Upon reading the 386BSD code, I found that after the bootstrap is loaded, it gets the MSDOS partition table from memory (already read by the bootstrap process) and uses that to compute the cylinder of its disklabel. It then RESETS the drive to its DEFAULT GEOMETRY and attempts to read its disklabel from the previously computed data. (The comments in the code say that it is turning off translation. This is not the case for a Maxtor 7120AT, and possibly other drives as well). The result of this is that if the CMOS geometry does not match the default geometry, the bootstrap will not find the disk label. To make things work requires the following: 1) The drive geometry in the CMOS must match the default geometry of the drive. 2) The partitions in the DOS partition table must end on a cylinder boundary (So that when the bootstrap uses the partition end-head and end-sector to get the number of sectors per track and number of heads, it will get the right answers). 3) The disklabel geometry must match the default geometry of the drive. All the above hinges on knowing the default geometry of your drive(s). I suggest that you obtain a data sheet for your drive which gives you the geometry and jumper settings. Call your favorite disk drive repair shop. Now that I have this information I was able to put both my old Seagate ST157A and my new Maxtor 7120AT in my system in a master-slave configuration. If you can't get the data sheets for your drives, you can proceede as follows: 1) Get the IDEINFO program from your favorite DOS BBS or ftp site. 2) Make a bootable MSDOS diskette and put IDEINFO.EXE on it. 3) Run setup and tell the CMOS that there are NO hard disks in your system. (This prevents the BIOS from telling your hard disk to use a translation other than the default translation.) 4) Boot off the MSDOS diskette with IDEINFO.EXE and run IDEINFO.EXE 5) IDEINFO.EXE will tell you what the power-on geometry of your drive is. Write this info down. 6) Run setup again, use drive type 47 and enter the geometry values that IDEINFO gives you. Set the write precompensation and landing zone values to zero (an IDE drive does not use them). 7) Install 386BSD (and MSDOS if required). Good luck Dean -- ---------------------------------------------------------------------- #include <standard_disclaimer.h> Dean M. Phillips (206) 393-9333 Boeing Commercial Airplane Group dmp3592@galileo.boeing.com