BOOT(HW) XENIX System V BOOT(HW)
Name
boot - XENIX boot program.
Description
boot is an interactive program used to load and execute
standalone XENIX programs. It is used primarily for loading
and executing the XENIX kernel, but can load and execute any
other programs that are linked for standalone execution.
boot is a required part of the XENIX Operating System and
must be present in the root directory of the root file
system to ensure successful loading of the XENIX kernel.
The boot program is invoked by the system each time the
computer is started. To restart the system without going
through lengthy shutdown procedures, you can use the reboot
command. This causes the system to reboot after shutting
down without waiting for keyboard input. See haltsys (C)
for more information.
For diskette boot, the procedure has three stages:
1. The ROMs load the boot block from sector 0 of the
floppy, where sector 0 of the disk is the same as
sector 0 of the filesystem.
2. The boot block-loads /boot from the floppy filesystem.
3. /boot executes and prompts the user.
For fixed disk boot, the procedure has five stages:
0 of the filesystem.
The ROMs load in the masterboot block from sector 0 on
the hard disk.
2. The masterboot block then loads the partition boot
block from sector 0 of the active partition (see
fdisk(C)).
3. Then, boot1 is loaded from the next four tracks.
4. boot1 loads /boot from the XENIX file system.
5. /boot executes and prompts the user.
/boot and /xenix may lie on tracks that have been mapped by
badtrk(M) .
The fixed disk boot procedure is invoked if the diskette
drive is empty.
Page 1 (printed 8/7/87)
BOOT(HW) XENIX System V BOOT(HW)
When first invoked, boot prompts for the location of a
program to load by displaying the message:
XENIX System V
Boot
:
To specify the location of a program, a device and filename
must be given. The filename must include the full pathname
of the file containing the standalone program. You can
display a list of the current allowable device names by
typing a question mark (?).
The format for the device and pathname is as follows:
xx(m,o)filename
or
xx(m)filename
where:
xx = device name
(`hd' for the hard disk or `fd' for diskette device)
m = minor device number
(40 for the root filesystem on the hard disk)
o = offset in the partition (usually 0). This is optional.
filename = standard pathname. Must start with a
slash if the program is not in the root directory.
All numbers are in decimal. See the manual pages for hd(HW)
and fd(HW) for minor device numbers of these devices.
Specifying the offset is optional. The location of the
program to be loaded must always be entered first on the
command line and be present if other boot options are
specified either on the command line or in
/etc/default/boot.
If you want boot to pause and wait for a <RETURN> before
executing the program that it loads, enter the word
``prompt'' on the command line. For example, if you enter
``prompt'' and press <RETURN>, boot prints the following
message and waits for you to press the return key again:
Loaded, press <RETURN>.
The prompt can be changed to another string as in this
example:
prompt="change diskettes now"
boot loads xenix from the diskette, prints the message
``change diskettes now'', and waits for <RETURN> to be
Page 2 (printed 8/7/87)
BOOT(HW) XENIX System V BOOT(HW)
pressed. No other characters can appear between prompt, the
``='' sign and the prompt string, although string may
contain spaces. When you press <RETURN>, xenix will begin
execution. ``Prompt'' can be set either on the command line
or in /etc/default/boot. If a prompt is not specified, boot
executes the loaded program without pausing.
If you have just loaded the boot program from the
distribution diskette, simply press <RETURN> and boot
defaults to the correct values.
To load from a hard disk, enter:
hd(40,0)xenix
To use the default boot string specified in
/etc/default/boot, simply press <RETURN> when the system
displays the boot prompt, and boot uses the values specified
by DEFBOOTSTR in /etc/default/boot.
If nothing is typed after a short while and LOADXENIX is set
to YES in the default root file system's /etc/default/boot
file, boot times out and behaves as though a <RETURN> had
been pressed, except that an ``auto'' is added to the boot
string. boot proceeds through the boot procedure, and
init(M) is passed a -a flag with no ``prompt''.
It is recommended that you install DOS on the hard disk
before However, once you install DOS you can boot it at the
XENIX ``Boot'' prompt by entering ``dos''.
During installation, a custom masterboot is placed on the
hard disk. If a non-standard disk is specified, its
parameters are stored and enabled in this masterboot.
Configuring The Kernel
boot passes any boot string typed at the boot prompt to the
kernel, except for the ``prompt'' string.
The kernel reads the boot string to determine which
peripherals are the root, pipe and swap devices. If no
devices are specified in either the /etc/default/boot
description or on the command line, the default devices
compiled into the kernel are used.
Page 3 (printed 8/7/87)
BOOT(HW) XENIX System V BOOT(HW)
Additional arguments in the boot string can alter this
default action. These arguments have the form:
dev=xx(m,o)
or
dev=xx(m)
where:
dev = The desired system device (root[dev], pipe[dev],
or swap[dev])
xx, m, o = same as for the boot device
If any combination of root, pipe or swap is specified, then
those system devices will reside on that device, with the
unspecified system devices using the defaults compiled in
the kernel. Setting one device does not affect the default
values for the other system devices.
Selecting The System Console
You can select the system console at boot time either by
entering the command systty=x at the boot prompt, or by
placing the keywords SYSTTY=x in the file /etc/default/boot.
The letter x represents either a number or a string
parameter.
If you use the stty=x command at boot time, boot uses the
string parameter x to pass the selected console device to
the kernel. The values of the boot string parameter systty
are:
sio Serial port COM1
scrn Display adapter
For example, to assign the system console to the serial port
at COM1, enter this command at the boot prompt:
systty=sio
If you do not specifically set the system console at boot
time, the boot program follows these steps to determine the
system console:
- boot reads /etc/default/boot and looks for the keywords
SYSTTY=x where x is a number that specifies the system
console device.
0 indicates the serial adapter at COM1.
1 indicates the display adapter.
- If SYSTTY is not found or /etc/default/boot is
unreadable, boot checks for a display adapter and
assigns it as the system console.
Page 4 (printed 8/7/87)
BOOT(HW) XENIX System V BOOT(HW)
- If no display adapter is found, boot looks for COM1,
sets the serial port to 9600 baud, 8 data bits, 1 stop
bit, and no parity, and uses it as the system console.
Thus, to have boot automatically set the system console to
the serial port at COM1, enter this line in
/etc/default/boot:
STTY=0
Aliasing
A set of system devices can be aliased to a single keyword
by defining the keyword in the file /etc/default/boot. This
keyword can then be entered on the ``Boot'' command line and
the boot program then reads the corresponding system devices
from /etc/default/boot and pass them to the kernel. An
alias has the following form:
key=file [root=xx(m) pipe=xx(m) swap=xx(m) prompt[="string"]]
In all cases, the device specification can also have the
format dev=xx(m,o), where o is the offset.
For example, if you have a root file system on a second hard
disk and want to use it, but want to boot using the xenix
located on the first hard disk, enter the following line
into the /etc/default/boot description:
disk2=hd(40,0)xenix root=hd(104,0) prompt="Using second disk"
The next time you boot the system from the first hard disk,
enter ``disk2'' in response to the ``Boot'' prompt. xenix
will be loaded from the first hard disk, and when you see
the message, ``Using second disk'', press <RETURN> . xenix
will now boot and use the root file system on the second
hard disk. Note that you must edit the /etc/default/boot
file in the root file system on the device from which boot
will be read, in this case the first hard disk.
Boot options
Boot options can be changed via keywords in
/etc/default/boot. The following keywords are recognized by
boot:
LOADXENIX=YES If YES, boot automatically loads
XENIX after a moderate delay.
Page 5 (printed 8/7/87)
BOOT(HW) XENIX System V BOOT(HW)
DEFBOOTSTR=string string is used as the default
boot string for timeouts and for
no input on the command line.
There can be no white space
between DEFBOOTSTR, the ``=''
sign and string.
SYSTTY=x If x is zero (0), the system
console device is set to the
serial adapter at COM1. If x is
one (1), the system console is
set to the main display adapter.
RONLYROOT=NO Whether or not the root
filesystem is to be mounted
readonly. This should only be
set to ``yes'' during
installation.
Diagnostics
If an error occurs, masterboot displays an error message,
and locks the system. The following is a list of the most
common messages and their meanings:
IO ERR
An error occurred when masterboot tried to read in the
partition boot of the active operating system.
BAD TBL
The bootable partition indicator of at least one of the
operating systems in the fdisk table contains an
unrecognizable code.
NO OS
There was an unrecoverable error that prevented the
active operating system's partition boot from
executing.
When boot displays error messages, it returns to the
``Boot'' prompt. The following is a list of the most common
messages and their meanings:
bad magic number
The given file is not an executable program.
can't open <pathname>
The supplied pathname does not correspond to an
existing file, or the device is unknown.
Stage 1 boot failure
The bootstrap loader cannot find or read the boot file.
Page 6 (printed 8/7/87)
BOOT(HW) XENIX System V BOOT(HW)
You must restart the computer and supply a file system
disk with the boot file in the root directory.
not a directory
The specified area on the device does not contain a
valid
filesystem.
zero length directory
Although an otherwise valid filesystem was found, it
contains a directory of apparently zero length. This
most often occurs when a pre- System V filesystem
(with incorrect, or incompatible word ordering) is in
the specified area.
fload:read(x)=y
An attempted read of x bytes of the file returned only
y bytes. This is probably due to a premature end-of-
file. It could also be caused by a corrupted file, or
incorrect word ordering in the header.
Files
/boot
/etc/default/boot
/etc/masterboot
/etc/hdboot0
/etc/hdboot1
See Also
autoboot(M), badtrk(M), fd(HW), fdisk(M), haltsys(C),
hd(HW), init(M), sulogin(M)
Notes
The computer tries to boot off any diskette in the drive.
If the diskette does not contain a valid bootstrap program,
errors occur.
The boot program cannot be used to load programs that have
not been linked for standalone execution. To create
standalone programs, the -A option of the XENIX linker
(ld(CP)) and special standalone libraries must be used.
Standalone programs can operate in real or protected mode,
but they must not be large or huge models. Programs in real
mode can use the input/output routines of the computer's
startup ROM.
RONLYROOT should only be set to ``yes'' for installation. If
it is set to ``yes'' during day-to-day operations, it will
prevent you making changes to the root filesystem. You will
then be required to boot from the floppy drive, edit the
/etc/default/boot file and reboot.
Page 7 (printed 8/7/87)
BOOT(HW) XENIX System V BOOT(HW)
Page 8 (printed 8/7/87)