How Big of a Kernel Can SCO Xenix Boot?
W. Paul Zola
paulz at sco.COM
Fri Apr 12 07:30:19 AEST 1991
In article <73 at sgtech.UUCP> adnan at sgtech.uucp (Adnan Yaqub) writes:
}I need some information on how SCO Xenix's bootstrap program (boot)
}works. Specifically, what are the size restrictions on the kernels it
}can boot. Here is the problem.
}
[details of error messages, including "invalid xs_rbase!" deleted]
The following articles from the SCO Information Tools database should help
with your problem. I'm posting because I think this may be of general
interest.
################## cut here ################ cut here ##################
After installing a new kernel I get a boot prompt that loops.
KEYWORDS: reboot cycle kernel 640K device driver custom link_xenix big large nfiles xnx155 xnx126
RELEASE: SCO XENIX 386 Operating System Release 2.3 Generic
PROBLEM: You have linked a new driver or product into the kernel using the
"custom" or "/etc/install" utility, or have adjusted the tunable
kernel parameters using "configure". After installing the new kernel
as /xenix when you try and reboot, you will see the prompt:
Boot :
After hitting return the machine will hesitate and then return
Boot :
This cycle will loop indefinitely until you type:
Boot : xenix.old
This will boot your old /xenix, which is not larger than 640K.
CAUSE: The kernel has grown larger than 640K and /boot is trying to load the
kernel into extended memory. Due to a timing problem on certain
machines, pin A20 on the cpu is being dragged low, and the address
the /boot program is passing to the cpu is incorrect.
SOLUTION: By adding additional delays into the /boot binary, pin A20 goes high,
and the correct address is passed to the cpu.
The new /boot binary is available as a Support Level Supplement
(SLS) called xnx126. This SLS is available from the Customer
Services Department of The Santa Cruz Operation, Inc.
This binary is also available as part of SLS xnx155.
*****NOTE: This problem was resolved in SCO XENIX 2.3.2. However, it is
possible for a system to have been upgraded to XENIX 2.3.2 and
not contain the revised /boot binary. Therefore, if this
problem occurs in SCO Xenix 2.3.2, we suggest you install xnx155.
################## cut here ################ cut here ##################
Note that the kernel must reside within the first 1024 cylinders of
the hard disk in order for it to boot properly. As a practical matter,
this means that the root filesystem must lie within the 1024 cylinder
limit. "invalid xs_rbase!" is one of the messages that can be
generated when the kernel lies beyond the 1024 cylinder limit.
Below is an item from the IT database on how to determine whether
the root fileystem lies within this limit.
################## cut here ################ cut here ##################
How to calculate hard drive size in megabytes and number of sectors.
KEYWORDS: hd hard drive mb megabytes sectors 1024 size
RELEASE: SCO XENIX System V Operating System Generic
SCO UNIX System V/386 Operating System Generic
PROBLEM: How do I calculate the size of a hard drive in megabytes if given
the number of cylinders and heads and sectors per track?
How do I calculate the total number of sectors available and
the maximum number of sectors allowable in the root filesystem?
SOLUTION: In order to answer these questions you will need to know the
following information about your hard drive:
a. The number of cylinders.
b. The number of heads.
c. The number of sectors per track.
If you do not know this information, check the documentation that
came with the hard drive, consult the vendor who sold you the hard
drive, or consult the hard drive manufacturer.
1. The total megabyte capacity of the hard drive is calculated
as follows:
Megabytes = (cylinders * heads * sectors-per-track) / 2000
Note: 15% to 20% of the total capacity of the drive will
be used by low-level formatting and will not be available
for storage.
2. The number of sectors on a hard disk is calculated as follows:
sectors = cylinders * heads
3. The entire root filesystem must reside within the first 1024
cylinders of the hard drive. This 1024 cylinder limit includes
any other filesystems you might have, including DOS.
If the number of cylinders on your hard drive is less than 1024,
or if the hard disk controller will translate the number of
cylinders to less than 1024, then there is no restriction to the
size of the root filesystem.
The maximum size available for the root filesystem is
calculated by determining how many sectors must be outside
the root filesystem and then subtracting that value from the
total number of sectors reported available in the SCO UNIX
System V/386 or XENIX partition.
1. Calculate the total sectors available on the hard disk
as follows:
sectors = cylinders * heads
2. Calculate the number of sectors in the first 1024
cylinders as follows:
base-sectors = 1024 * heads
3. Calculate the number of sectors over the 1024 cylinder
boundary as follows:
over-sectors = sectors - base-sectors
4. In order to insure that the root filesystem is within
the 1024 cylinder boundary, you must assign at least
the number of sectors equal to the value you calculated
as 'over-sectors' to divisions outside of root. The
divisions outside of root may include swap space, as well
as other filesystems.
################## cut here ################ cut here ##################
I hope this helps you with your problem.
-
Paul Zola Software Support Engineer
paulz at sco.COM
Gotta tend the earth if you want a rose. - Emily Saliers
DISCLAIMER: I speak for myself, and not for SCO.
More information about the Comp.unix.xenix.sco
mailing list