From: davidsen@ariel.crd.GE.COM (william E Davidsen)
Newsgroups: comp.unix.sysv386
Subject: Re: sector remapping woes with 1542A/SCO Unix
Date: 23 Jul 92 15:17:20 GMT
Reply-To: davidsen@crd.ge.com (bill davidsen)
Organization: GE Corporate R&D Center, Schenectady NY

In article <1992Jul23.022212.14858@ksmith.uucp>, keith@ksmith.uucp (Keith Smith) writes:

| The root filesystem in SCO unix cannot lie beyond the 1024th cylinder,
| translated or otherwise. 

  That's not without some minor exceptions. The problem lies in using
the BIOS to boot the system, and the BIOS can't get beyond cylinder
1023 because there are only 10 bits to specify the cylinder number in
the BIOS call. If translation is on, logical cylinders less than 1024
work. However, when UNIX gets control there are problems describing the
disk in translated terms. As a ground rule if the translation is done
at the BIOS level, it will fail, if it's done by hardware in the
controller it will work. You wind up with disks which look different to
DOS and UNIX.

  2nd half of the problem. While the partition must start before 1024,
it may continue past, providing the entire kernel lies below 1024. If
it is above 1024, you get NO OS, if below it works, and if partially
above you get some kernel read in and some random data. Then you get a
partial boot until you execute whatever came from the low cylinders.
Trust me, I didn't read this in a book somewhere... you can run for a
year and then build a new kernel with only a few sectors up past 1023.

  As a general rule what you said is the best way to operate. Keeping
the entire root partition under physical 1024 eleiminates having to
find exceptions to get the system back up.

| >Why does SCO Unix think that a different sector translation is called
| >for? On other machines (with, admittedly, 1542_B_ controllers) SCO
| >Unix kindly uses the 64 head translation (in fact, the same installation
| >floppies have been tried, to no avail).

  I think the problem lies in where the translation is done. If it's
done in the BIOS the disk must be described to the UNIX software as
untranslated. This *is* possible, but I don't (want to) remember the
details. I have never seen anything like this on SCSI, but anything is
possible. I would expect hdinit to see what the controller offers,
although this is not always the case with ESDI and RLL drives, where you
may have to force the configuration.

| Ahh,  morn, likely you need a BIOS upgrade for the controller.
| also simply creating the first filesystem between 0 and 1023 and using
| from 1024 to 1272 end as the swap area is an easy fix.

  Yes, anything which gets the kernel image low. Dell puts the boot
partition low, with very little in it. This is nice because you can put
a new kernel down there and be sure it's low. I *think* you could do
this with SCO, read the kernel from a small low partiton and mount the
larger partition on root. I bet it's really trickey and SCO isn't going
to encourage people to do it, either.

| It will of course require manual fiddling with divvy ("Would you like to
| make any manual adjustments"...) but it is not difficult.  Just set root
| to use the entire area.  You will have to multiply out and get the track
| numbers.  Track 0 is reserved.

  Too true. I wish all vendors would let you choose to work in tracks,
cylinders, or MB when doing the divvy (by whatever name). There is no
one "right" unit, although they all have been tried!
-- 
bill davidsen, GE Corp. R&D Center; Box 8; Schenectady NY 12345
	It never ceases to amaze me that otherwise rational people, able to
	understand calculus, compound interest, and the income tax form, can
	continue to believe that poker is a game of chance.
Newsgroups: comp.unix.sysv386