boot(4)


boot -- boot parameters

Description

Parameters for the boot program can be set or changed in /stand/boot. Their current values can be displayed using the Boot Command Processor (BCP) command described on boot(1M).

device can be prefixed to any filename to override the default device. Standard values for device, except in the CONSOLE parameter are:

fd(unit)
specifies the floppy disk, drive number unit

hd(unit[,partition][,slice])
specifies the hard disk, drive number unit (from zero), partition number partition, and slice number slice. partition can also be specified as an operating system type name (UNIX, XENIX, DOS, (DOS_12, DOS_16, DOS_32, or DOS_EXT), NT, or OS2. If partition is not defined, it defaults to UNIX. slice specifies the slice number for the root filesystem, allowing the possibility of backup roots.

If a boot device is specified without a filename, boot performs a ``raw boot'' of the specified device. For example,to boot DOS or Windows from the first hard drive, use:

   b hd(0,dos) 

All parameters, whether recognized by boot or not, are passed to the kernel.

Parameters recognized by boot

The following parameters are recognized by boot and are passed to the kernel.

ALIGN=num
Alignment requirement for FILES images.

AUTOBOOT=YES|NO|num
Indicate whether boot is to start loading the kernel immediately or enter an interactive boot session. num is the minimum time (in seconds) to wait while loading BOOTPROG and is set to 5 by default.

BLM=filename[,filename]
Bootstrap Loadable Modules loaded into BOOT. BLM files are loaded from STARTDEV, unless filename specifies a device. Setting this parameter causes the specified BLM(s) to be immediately loaded.

BOOTDEV=device
Names the device BOOTPROG is loaded from.

BOOTPROG=filename
Define this parameter to change the name of the kernel file to boot. As delivered, the default is unix. During a user-initiated interactive session, the current value of BOOTPROG is the default file used when boot times out.

For example, BOOTPROG=myunix directs the boot program to load the /stand/myunix file. The kernel file is loaded from BOOTDEV unless filename specifies a device.

CONSOLE=device(minor [, params ] )
This overrides the default configuration of the console device (used by the boot program for kernel messages, kernel debugger I/O, /dev/sysmsg, and the console login prompt) specified when the kernel was built. Minor number minor of the character device device will be used instead. Note that the boot program is restricted to a hardcoded set of possible devices to use for the device parameter and only responds to the following:

kd
the standard PC console (at minor 0)

iasy
minor can be 0 through 15, corresponding to COM1, COM2, COM3, and COM4

mirrorcon
at minor 0, see mirrorcon for params

Other devices will be ignored (treated as invalid strings), and discarded.

The parameter string device specifies the name of the device to use for the console. For example, iasy supports the serial port device. The minor number indicates the same device variant as it would under UNIX, however, because it is interpreted by boot, there may be other restrictions on its value. Hence, the only allowable values for theiasy device(minor are 0 through 15, which specify various degrees of flow and modem control on COM1, COM2, COM3, and COM4 serial ports. device defaults to BOOTDEV.

The optional parameter string, params, is passed to the console device driver. Its interpretation is driver-specific. The parameter string params is device-specific. For iasy, it is used to specify baud rate, data bits, and parity, in the following syntax:

   Bbaud|Cdata|Pparity 
The variable baud can be 115200, 57600, 38400, 19200, 9600 (the default), 4800, 2400, 1200, 600, 300, or 110. The variable data can be 7 or 8 data bits (the default), or T (2 stop bits, defaults to 1). The variable parity defaults to none, and can be set to O (odd), or E (even).

Note that successful use of higher baud rates (above 9600 depends on the UART hardware in the machine and cannot be guaranteed: characters may be lost if flow control is not adhered to by the remote input device (terminal or modem).

For example, the following parameter definition sets the console to iasy minor 0, the COM1 port using modem control (tests the state of the DCD line), and software flow control, the baud rate to 1200, the data bits to 7 (with 1 stop bit), and the parity to odd:

   CONSOLE=iasy(0,B1200|C7|PO) 

The following string sets the console to COM2, using no flow control, at 38400 baud, with no parity checking, and 1 stop bit:

   CONSOLE=iasy(5,B38400) 

The following string resets the console back to the PC console keyboard:

   CONSOLE=kd(0) 

The special console pseudo-device driver, which is useful for remote administration and debugging, is called mirrorcon and is found in the Advanced Commands package. The parameter string for mirrorcon is a list of console device specifications, each one in the same form as described above, separated by plus signs (``+''). All console output will be sent to each of the specified devices, and any input entered on any of the devices will be accepted. The minor number for mirrorcon should always be zero.

An example of using mirrorcon for two devices named kd and iasy might be:

   console=mirrorcon(0,kd(0)+iasy(2, B19200|C8T|PE)) 

This string redirects the data to and from /dev/console to the PC console and keyboard, and to the serial port at minor 2. That is, COM1 with no flow control and no modem control (/dev/tty00t), at a baud rate of 19200, with 8 data bits, 2 stop bits, and even parity.

The effect of mirrorcon does not extend to the console login prompt or use of /dev/console in general. /dev/console can only be a single device. Whichever device is first in the parameter string for mirrorcon will be used for /dev/console.

FILES=[name:]filename{,filename}
Define this parameter to name the auxilliary files to be loaded when BOOTPROG is loaded. Each file will appear in the MEMORY list as a single range with use set to name. If name is omitted, filename is used.

Auxilliary files are loaded from BOOTDEV unless filename specifies a device.

INITFILE=filename
Define this parameter to name a file to use as input to /sbin/init (default is /etc/inittab).

MEMADJUST=[+|-]range{,(+|-)range}
Overrides memory. range is specified in the form low_address-high_address. Addresses are in decimal, and can be specified in bytes, or suffixed with K to indicate kilobytes (1024 bytes), M to indicate megabytes, or G to indicate gigabytes. Addresses can not exceed 4G.

A range that is prefixed with + is added to the known ranges so far; each range that begins with a - is subtracted. Ranges are applied in left-to-right order. If the first range has neither a + nor a -, all known ranges are discarded and replaced by the specified range. In general, memory that is already in use is never discarded.

PARAMS=filename
Loads another boot parameter file in addition to /stand/boot. Setting this parameter causes the specified filename to be immediately loaded. Boot parameter files are loaded from STARTDEV unless filename specifies a device.

TIMEOUT=number
If boot is waiting for a boot line from the user and TIMEOUT is set, boot waits for number seconds, then uses the default boot line defined by BOOTPROG.

Read-only parameters generated by boot

BOOTCONS=num,num
Console I/O routines for use by BOOTPROG.

BOOTSTAMP=string
Media stamp from boot device (BOOTDEV).

BUSTYPES=string{,string}
I/O bus type name(s).

HDPARM0=cyls,heads,sects
BIOS-reported geometry for first hard disk.

HDPARM1=cyls,heads,sects
BIOS-reported geometry for second hard disk.

KSYM=num,num,num,num,num
BOOTPROG symbol table information.

MEMORY=range[:use]{,range[:use]}
Lists available memory and in-use memory.

range is specified in the form low_address-high_address. Addresses are in decimal, and can be specified in bytes, or suffixed with K to indicate kilobytes (1024 bytes), M to indicate megabytes, or G to indicate gigabytes. Addresses can not exceed 4G.

STARTDEV=device
Specifies the device from which the bootstrap itself was loaded.

USER_PARAMS=param[,param]
Specifies parameters that you set or modified manually.

Parameters recognized by the kernel

The following parameters are processed by the kernel rather than by boot. are passed directly to the kernel:

DISABLE_CACHE=(YES|NO)
Set this parameter to YES to disable use of internal and external memory caches on i486 and above CPUs.

DISABLE_PGE=(YES|NO)
Set this parameter to YES to disable use of the PGE (Page Global Enable) optimization. Otherwise, PGE will be used on all CPUs that support it.

ENABLE_4GB_MEM=(YES|NO)
Set this parameter to YES to enable the detection of memory above 4GB (either using the BIOS call E820 or, alternatively, using whatever mechanism a custom PSM chooses to use).

IGNORE_MACHINE_CHECK=(YES|NO)
Set this parameter to YES to ignore hardware machine check conditions. On some systems, external circuitry delivers spurious machine check conditions to the CPU. This parameter allows such machine checks to be ignored rather than disabling the system.

INITSTATE=sysstate
Define this parameter to specify the system state to enter after booting. This parameter is passed to /sbin/init and overrides the system state specified on the initdefault line in the /etc/inittab file. The value of sysstate can be 0-6, s, or S.

This parameter is particularly useful if a problem causes your system to fail before it reaches networking state. For example, if you have selected the wrong video driver, the graphical login will not start. If you interrupt a reboot, and define INITSTATE to be s, you can boot to single-user state, and correct the problem.

LUNSEARCH=(c:b,t,l)[, ...]
Define this parameter to specify devices that should not be accessed beyond LUN 0. The argument c specifies the controller, b specifies the bus, t the target, and l the LUN of the device causing problems. The parentheses are required, but any of the arguments can be omitted. If omitted, all valid values for that argument are matched.

The following example shows that on controller 0, bus 0, the device at target 3 should be accessed only at LUN 0, and all devices on controller 1 should be accessed only at LUN 0.

   LUNSEARCH=(0:0,3),(1) 

The following example limits device searching to LUN 0 for all devices:

   LUNSEARCH=() 

PCISCAN=(YES|NO|2.0|2.1)
This parameter should not be set by the user unless the system is not completely PCI compliant and then setting PCISCAN can allow you to work around some installation problems.

If set to YES or 2.1, UnixWare probes the system to determine whether the system is PCI Specification 2.1 compliant, and retrieves system information for use by drivers that are available only on PCI 2.1 compliant systems. YES is the default setting for PCISCAN.

If set to 2.0, UnixWare assumes the system is PCI 2.0 Specification compliant.

If set to NO, UnixWare does not probe the PCI bus on the system and, therefore, it is unlikely that anything other than PCI IDE controllers and video cards will be detected.

If PCISCAN is specified as anything other than one of the four expected values in the case shown, UnixWare sets PCISCAN to NO.

PDI_TIMEOUT=(YES|NO)
Set this parameter to YES to enable SCSI command timeouts that trigger SCSI device and bus recovery. Otherwise, SCSI commands will not time out and SCSI device and bus hangs can only be cleared by a system reboot. Setting this parameter to NO is useful when an unreasonable timeout value has been set for a SCSI command. The system can boot without using the timeout values, and then the unreasonable timeout value can be corrected using the sdi_timeout(1M) command.

PSM=name
Forces all PSMs except name to be ignored. Under normal circumstances, the kernel tries each PSM until one succeeds. The fallback PSM is atup.

RESMGR=filename
Specifies an alternative filename for /stand/resmgr. This parameter should be used in conjunction with FILES to load an alternative resource manager database. For example,
   FILES=resmgr:resmgr.sav 
   RESMGR=resmgr.save 

ROOTFS=fstype
This parameter overrides the default root filesystem type built into the kernel from the ROOTFSTYPE tunable parameter. The root filesystem will be assumed to be of type fstype instead (ufs or vxfs, for example). If fstype is blank, all configured filesystem types will be tried until one succeeds in mounting the root filesystem.

Parameters that define boot messages

The following parameters permit you to override default messages that are stored in /stand/bootmsgs. Of these parameters, only BOOTMSG1, BOOTMSG2, BOOTMSG3, and BOOTMSG4 are recognized by boot, but all are passed on to the kernel.

AUTOMSG=string
Define this parameter to change the message issued when an automatic reboot is about to occur. The default message that this parameter, if defined, will override is "Automatic Boot Procedure."

BOOTMSG1=string
Define this parameter to change the default boot message to string. The default message that this parameter, if defined, will override is "Starting UnixWare...." This parameter is recognized by boot.

BOOTMSG2=string
Define this parameter to change the default boot string, used to indicate the beginning of an interactive boot session. The standard setting for this message, as defined in /stand/bootmsgs is:
   Bootstrap Command Processor 
   Ready for boot commands . . . [? for help] 
This parameter is recognized by boot.

BOOTMSG3=text
Define this parameter to change the default string displayed at the beginning of the command line. The default string is [boot]. This parameter is recognized by boot.

BOOTMSG4=text
Define this parameter to change the default string displayed when waiting to display more. The default string is [MORE].

COPYRIGHT=string
Define this parameter to change the default copyright line(s) to string. This parameter can be defined multiple times, to accommodate copyright notices that are more than one line long. The default setting for this string, as defined in /stand/bootmsgs is:
   Copyright 1997 SCO, Inc.  All Rights Reserved.\ 
   U.S. Pat. No. 5,349,642\ 
This parameter is recognized by boot.

DEVICENAMES=string
Define this parameter to list the devices attached to the SCSI bus. string is a comma-separated list of SCSI device names. It defaults to the following:
   HBA,DISK,TAPE,PRINTER,PROCESSOR,WORM,CDROM,SCANNER,\ 
   OPTICAL,CHANGER,COMMUNICATION 

The order of devices in this list must be maintained. Only the first 13 characters of any field are used.

REBOOTMSG=string
Define this parameter to change the message issued when a user requests a reboot. If defined, this parameter will override the default message, "Press any key to reboot...."

STARTUPMSG=string
Define this parameter to change the last message issued before user processes are started. The default message that this parameter, if defined, will override is The system is coming up. Please wait..

TITLE=string
Define this parameter to change the default product name to string. The string can contain ``%'' tokens that will be replaced by information available from the sysinfo(2) system call as shown in the following list:

%a
SI_ARCHITECTURE string

%i
SI_INITTAB_NAME string

%m
SI_MACHINE string (uname -m)

%n
SI_HOSTNAME string (uname -n)

%r
SI_RELEASE string (uname -r)

%s
SI_SYSNAME string (uname -s)

%v
SI_VERSION string (uname -v)

%%
a percent sign

For example, the following string might be used:

   UNIX System V Release %r Version %v for the %a Family 

This parameter can be defined multiple times, to accommodate product names that are more than one line long. The default setting for this string, as defined in /stand/bootmsgs is:

   UnixWare %v for Intel IA-32 Processors 

variable=value
All other lines of the form variable=value are passed to the kernel.

Files

   /stand/boot 
   /stand/bootmsgs 

References

boot(1M), asyc(7)
30 January 1998
© 1998 The Santa Cruz Operation, Inc. All rights reserved.