NAME
BOOTMAGIC - Diagnostic station: Specifies bootmagic strings
that control how a Paragon system boots.
SYNOPSIS
/usr/paragon/boot/bootmagic
DESCRIPTION
The bootmagic file is on the diagnostic station and can be
created or changed by the system administrator only.
The bootmagic file specifies how a Paragon system boots when
it is reset. When a Paragon system is reset, the bootpp com-
mand reads the BADNODES.TXT, MAGIC.MASTER, and SYSCONFIG.TXT
files and creates the bootmagic file.
The bootmagic file contains bootmagic strings that specify
information about booting the system. A bootmagic string has
the following format:
name=value
The name part of the bootmagic string indicates a booting or
system configuration characteristic. The value part of the
string specifies the value of the bootmagic string. The
value can be a string, a node number, or a list of node
numbers. For example, the following bootmagic string speci-
fies the boot node for booting a Paragon system:
BOOT_FIRST_NODE=0
This specifies the system to use node 0 as the boot node.
You do not edit the bootmagic file. You change the value of
a bootmagic string in the bootmagic file by including the
bootmagic string in the MAGIC.MASTER file or in an alternate
magic file. Changes are made to the bootmagic file when the
bootpp command is executed during system reset. For example,
changing the following bootmagic string in the MAGIC.MASTER
file changes the bootmagic string in the bootmagic file when
the system is reset:
BOOT_FIRST_NODE=7
This string changes the boot node to node 7 in the bootmagic
file when the system is reset.
BOOTMAGIC STRINGS
The following lists and describes the bootmagic strings:
ALLOCATOR_NODE=node
Specifies the node where the allocator runs. The
default is the boot node.
BOOT_ALT_KERNEL_NAME=kernel
Specifies the pathname of the kernel that is
broadcast to the nodes listed in the
BOOT_ALT_NODE_LIST bootmagic string. The default
is /mach_servers/sunmos.
BOOT_ALT_NODE_LIST=node_list
Specifies a list of nodes on which to run the
alternate operating system.
BOOT_ARCH=arch
Specifies the name of the system architecture. The
default is paragon.
BOOT_COMPUTE_KERNEL_NAME=kernel
Specifies the pathname of the kernel file that is
sent to the compute nodes. The default is
/mach_servers/mach_kernel.compute. If defined,
this pathname is used instead of the value of
BOOT_KERNEL_NAME bootmagic string.
BOOT_COMPUTE_NODE_LIST=node_list
Specifies the list of nodes that receive the
``light'' server and kernel. Compute nodes without
any devices attached to them are defined in this
list. The list is computed when the system is
booted.
BOOT_COMPUTE_STARTUP_NAME=server
Specifies the pathname of the server that is sent
to the compute nodes. The default is
/mach_servers/startup.compute. If defined, this
pathname is used in place of BOOT_STARTUP_NAME
bootmagic string.
BOOT_CONSOLE=string
Specifies the console that all the system nodes
use. The default is cm. The string argument speci-
fies the kind of console to use. When a node is
booted, the string is parsed from left to right
until a valid console for the node is determined.
The following characters are allowed in the string
argument:
c Use the serial line as the console
if the node is the boot node. If the
node is not the boot node, this
character is skipped.
C Use the serial line as the console
if the node has a serial line. Oth-
erwise, this character is skipped.
f Use the fast scan interface (fscan)
as the console and provide flow con-
trol on user applications.
F Use the fast scan interface (fscan)
as the console and provide flow con-
trol on user applications.
k Stop the LED display while waiting
for input.
l Use the LED display while waiting
for input.
m Use the mesh as a console. Do not
use this unless no other access is
available.
s Use the scan line as a console when
looking for input only.
S Always use the scan line as a con-
sole.
For example, the following specifies a boot con-
sole:
BOOT_CONSOLE=cm
The value c specifies using a serial line first.
If the compute node does not have a serial line,
the value m specifies using the mesh as the con-
sole interface.
BOOT_COPY_REMOTE_KERNEL=1
Specifies that the kernel defined by
BOOT_REMOTE_KERNEL is copied to the file defined
by BOOT_KERNEL_NAME. This effectively establishes
the kernel being broadcast to non-boot nodes as
the kernel pointed to by BOOT_REMOTE_KERNEL. Use
of the copy switch with the reset command automat-
ically creates the BOOT_COPY_REMOTE_KERNEL=1 boot-
magic string.
BOOT_DAT_NODE_LIST=node_list
Specifies the nodes that have DAT drives attached.
BOOT_DISK_NODE_LIST=node_list
Specifies the nodes that have hard disks attached.
BOOT_EMULATOR_NAME=emulator
Specifies the absolute pathname of the emulator
that is broadcast to all nodes and is loaded by
the boot node. The default is
/mach_servers/emulator.
BOOT_ENET_NODE_LIST=node_list
Specifies the list of nodes that are Ethernet
nodes.
BOOT_FIRST_NODE=node
Specifies the first node that boots on the system
(the boot node). The default is node number 0
(zero). The boot node receives the bootmagic
strings from the scan line and receives the kernel
from the network. This is a mandatory bootmagic
string that must be in the MAGIC.MASTER file and
the bootmagic file.
BOOT_GREEN_LED=string
Specifies that the green LED is turned on and off.
BOOT_HOWTO=hex_value
Specifies how the system is to be booted. The
default is 0x0. The hex_value has the form
0xhex_digits, where hex_digits is a hexadecimal
number. This value is reserved for debugging only.
Do not modify this string.
BOOT_IO_NODE_LIST=node_list
Specifies the nodes that are to receive the
``heavy'' server and kernel. All service nodes and
nodes that have attached devices (for example, a
hard disk or HIPPI device) are specified. The list
is computed when the system is booted.
BOOT_KERNEL_NAME=kernel
Specifies the pathname of the kernel that is
loaded on the boot node and broadcast to the nodes
on the mesh. The default is
/mach_servers/mach_kernel.
BOOT_LOAD_SYMBOLS=0 | 1
Specifies whether to load the server symbols. A 1
(default) specifies to load the server symbols,
while a 0 specifies not to load the server sym-
bols.
BOOT_LTU_NODE=node_list
Specifies disabling the LTUs for the nodes speci-
fied in node_list. By default, all nodes have
their LTU's enabled. To disable LTUs, define the
node value as 4096 which is an invalid node
number.
BOOT_MESH_X=x_dimension
Specifies the number of slots in the x-dimension
(left to right) for the mesh. This value is always
a multiple of 4. The bootpp command computes this
value when it is not specified.
BOOT_MESH_Y=y_dimension
Specifies the number of slots in the y-dimension
(top to bottom) for the mesh. This value is always
a multiple of 4. The bootpp command computes this
value when it is not specified.
BOOT_MY_NODE=node
Specifies a node's node number. You cannot change
this number. The bootmesh command updates this
value prior to broadcasting the bootmagic file to
each node. Each node has a unique number.
BOOT_NODE_LIST=node_list
Specifies every node in the system. The bootpp
command computes this value.
BOOT_NUM_NODES=num_nodes
Specifies how many nodes (not slots) are in the
system. The bootpp command computes this value.
BOOT_RED_LED=string
Specifies that the red LED is turned on and off.
BOOT_REMOTE_KERNEL=address
Specifies the system address and pathname of the
remote kernel that is used to boot the boot node
from the diagnostic station. The address value has
the form IP_ADDRESS:pathname. This bootmagic
string is created automatically by the reset com-
mand if the string is not specified.
BOOT_ROOT_DEV=device
Specifies the name of the device containing the
root file system. The default is rz0a. This value
must be md0a when booting with the RAM disk.
BOOT_STARTUP_NAME=server
Specifies the absolute pathname of the server that
is broadcast to all nodes and loaded by the boot
node. The default is /mach_servers/startup.
BOOT_TIME=time
Specifies the current time. This time is used to
set the system clock. The value is retrieved using
the time(8) system call on the diagnostic station.
CHECK_FOR_RPMFAIL=0 | 1
Specifies whether the server should (when reading
the RPM) check to make sure the clock is running.
On occasion the server reads the RPM (a hardware
clock whose output is broadcast to all nodes).
When the server reads this clock, it normally
checks to make sure the clock has not stopped.
Setting this bootmagic string to 0 causes the
server to not check for a stopped clock and also
renders the ``REBOOT_ON_RPMFAIL'' bootmagic string
useless.
ENABLE_FORK_REMOTE=[fF] | [tT]
Specifies whether to enable or disable static
load-leveling and remote process creation on ser-
vice nodes. The values f and F disable static
load-leveling. The values t and T enable static
load-leveling. The default is static load-leveling
enabled. See the load_leveld manual page for more
information on static load-leveling.
EXPORT_PAGING=node_list
Specifies the nodes that will provide paging for
other nodes. The default is the boot node, which
means only the boot node will provide paging ser-
vices.
FORK_REMOTE_TIMEOUT=time
Specifies an integer value time that is the
time-out period after which the ``fastnode''
becomes the local node unless a new ``fastnode''
value is specified. The default is 60 seconds. See
the load_leveld manual page for more information
on the ``fastnode.''
NETIPC_PGLIST_HIGH=pages
Specifies the maximum number of 8K-byte pages to
dedicate to the memory pool.
NETIPC_PGLIST_LOW=pages
Specifies the minimum number of 8K-byte pages to
dedicate to the memory pool.
NETIPC_PGLIST_REFILL=pages
Specifies the threshold (number of 8-K byte pages)
at which resource depletion is detected and new
resources are allocated.
NETSERVER=node
Specifies the node that provides the network ser-
vices. The default is the boot node.
PAGER_NODE=pager_list
Specifies which nodes use which pager. The default
is that all nodes use the boot node as their
pager. The pager_list argument has the format:
<node_list>pager[:<node_list>pager] ...
PAGE_TO=paging_device_list
Specifies which nodes use which paging device. The
default is that all nodes use the device rz0b as
the paging device. The paging_device_list argument
has the format:
<node_list>device_name[:<node_list>device_name] ...
The value of the bootmagic string PAGE_TO is
automatically generated from the DEVCONF.TXT file.
Do not attempt to change the value of this boot-
magic string in any other file. Doing so can cause
inconsistencies in the file system configuration.
PARACORE_MAX_PROCESSES=number_of_processes
Specifies the size limit (measured by number of
processes) for applications that can dump parallel
core. number_of_processes can be -1 or any posi-
tive integer. The default value for
number_of_processes is 1.
If the actual number of processes in a faulting
application exceeds number_of_processes then, at
most, one process will dump core. If and how that
process dumps core is determined by the
CORE_ACTION_FIRST environment variable. Note that
setting number_of_processes to 1 (the default)
causes every parallel application to exceed this
limit. Thus, a single process dumps core and the
environment variables CORE_ACTION_FAULT and
CORE_ACTION_OTHER are not used.
Setting number_of_processes to -1 effectively
places an unlimited value on the number of
processes an application can have and still dump
parallel core. With a setting of -1 the environ-
ment variables CORE_ACTION_FAULT and
CORE_ACTION_OTHER can be used to dump parallel
core.
Controlling the number of processes that dump core
is especially useful in gang-scheduled
environments. Since an application which is dump-
ing core cannot be interrupted, it cannot be
rolled out on demand as required for gang schedul-
ing. Consequently, an application that is
scheduled to be rolled in has the potential of
losing a portion or perhaps all of its time quan-
tum while waiting for the current application's
core dumps to complete. This situation can result
in inaccurate accounting.
In less time-critical situations, the system
administrator can increase the default value of
number_of_processes to a level that allows users
to employ the core action environment variables.
Use of these variables along with this bootmagic
string can yield parallel core dumps, which can be
useful debugging aides.
PFS_ASYNC_DFLT=0 | 1
Specifies the default I/O mode for PFS files only
as M_ASYNC. A 1 specifies a default I/O mode of
M_ASYNC, while a 0 (the default) specifies a
default I/O mode of M_UNIX. Regardless of
PFS_ASYNC_DFLT setting, the default I/O mode for
non-PFS files is M_UNIX.
In M_ASYNC mode, each node has its own file
pointer and file access is unrestricted. Because
of this unrestricted access, atomic I/O operations
are not preserved. This implies asynchronous read
and write operations to variable length records
can occur.
RB_MULTIUSER=0 | 1
Specifies booting the system in either single-user
or multiuser mode. A 0 (default) indicates booting
the system in single-user mode, while a 1 indi-
cates booting the system in multiuser mode.
REBOOT_ON_RPMFAIL=0 | 1
Specifies whether the system shuts itself down
when a check of the RPM uncovers a stopped clock.
A 0 (default) causes the node that detects the
stopped RPM to simply print an error message on
the boot node. A 1 causes the system to be shut
down when the server detects a stopped RPM.
ROOT_DEVICE_NODE=node
Specifies the node that contains the root file
system. The default is the boot node.
REAL_FIRST_NODE=node
Specifies the first node when the RAM disk is not
used.
ROOT_FS_NODE=node
Specifies the node that provides the services for
accessing the root file system. The default is the
boot node.
TCP_SPACE_SIZE=buffer_size
Specifies the default socket buffer space avail-
able to TCP connections on the Paragon. Valid
values for buffer_size are:
65536 ethernet only systems
262144 systems that have a HIPPI/FDDI
524288 systems that have a HIPPI
Use of this bootmagic string also enables the
Paragon system to use window scaling with other
systems employing window scaling. Note that the
effect of TCP_SPACE_SIZE is system wide as it
optimizes TCP/IP performance over the HIPPI chan-
nel.
EXAMPLES
The following shows an example bootmagic file.
BOOT_FIRST_NODE=7
BOOT_CONSOLE=f
BOOT_STARTUP_NAME=/mach_servers/startup
BOOT_EMULATOR_NAME=/mach_servers/emulator
BOOT_KERNEL_NAME=/mach_servers/mach_kernel.db
BOOT_ROOT_DEV=rz0a
BOOT_HOWTO=0x0
BOOT_COMPUTE_STARTUP_NAME=/mach_servers/startup.compute
BOOT_COMPUTE_KERNEL_NAME=/mach_servers/mach_kernel.compute.db
BOOT_ALT_KERNEL_NAME=/mach_servers/sunmos
BOOT_ARCH=paragon
BOOT_MY_NODE=7
ROOT_FS_NODE=7
ROOT_DEVICE_NODE=7
NETSERVER=7
ALLOCATOR_NODE=7
BOOT_NUM_NODES=71
BOOT_MESH_X=8
BOOT_MESH_Y=16
BOOT_IO_NODE_LIST=0,7,15
BOOT_COMPUTE_NODE_LIST=23,31,41..78,81..94,97..102,105..126
BOOT_NODE_LIST=0,7,15,23,31,41..78,81..94,97..102,105..126
EXPORT_PAGING=0,7
PAGER_NODE=<0>7:<15..126>0
BOOT_TIME=755976977
BOOT_REMOTE_KERNEL=137.46.14.37:/usr/paragon/boot/mach_kernel.db
BOOT_GREEN_LED=Dciw
BOOT_RED_LED=DcglXRm
RB_MULTIUSER=0
BOOT_LOAD_SYMBOLS=1
BOOT_DISK_NODE_LIST=0,7
BOOT_DAT_NODE_LIST=7
BOOT_ENET_NODE_LIST=7,15
FILES
/usr/paragon/boot/BADNODES.TXT
Specifies the nodes that are nonfunctional on a
Paragon system. This file resides on the diagnos-
tic station.
/usr/paragon/boot/bootmagic
Specifies information for booting a Paragon sys-
tem. This file resides on the diagnostic station.
/usr/paragon/boot/DEVCONF.TXT
Specifies the device configuration for a Paragon
system. This file resides on the diagnostic sta-
tion.
/usr/paragon/boot/MAGIC.MASTER
Specifies the master version of the bootmagic
strings for booting a Paragon system. This file
resides on the diagnostic station.
/usr/paragon/boot/SYSCONFIG.TXT
Specifies the hardware configuration for a Paragon
system. This file resides on the diagnostic sta-
tion.
SEE ALSO
calls: time(8)
commands: bootpp, reset, core
files: BADNODES.TXT, DEVCONF.TXT, MAGIC.MASTER,
SYSCONFIG.TXT
Acknowledgement and Disclaimer