bootstring -- parameters passed to the kernel and device drivers




A bootstring is an argument specified on a boot(HW) command line. boot executes some bootstrings internally, then loads a standalone program and passes the bootstrings specified on the command line through to the command (which is usually the UNIX system kernel). Bootstrings passed to the kernel are kernel parameters, which are used to set up the kernel's internal configuration; for example, to determine the root, dump, and swap devices. Appropriate default values are assumed if a kernel parameter does not specify a value.

Parameters passed to the kernel generally have the form:


The module, ``='', and value elements are optional. If a value is specified, an = must also be given; an = without a value assumes a value of "" (an empty string).

The default module is kernel. For safety, unknown module or illegal value elements usually cause the UNIX system kernel to halt. This allows you to enter the correct name or value before rebooting the system.

Some values specify a device. These device values, which are parsed by the UNIX system kernel and not by boot, are identical in format to those understood by boot; that is:


Where xnamex is the ``internal name'' of the driver, as specified in column 1 of its mdevice(F) entry, and minor is the minor device number of the device.

Note that the kernel understands more internal device names (xnamex) than boot does. The kernel ignores the offset (except when used as a flag for the dump device), and it does not understand network addresses given in the form: net(IP_address).

The default devices depend on the kernel's configuration and can be (but usually are not) changed.

Recognized kernel names include:

Allows you to override the default hardware parameters for a SCSI host adapter. You might need to do this if the kernel fails to recognize or incorrectly identifies a SCSI host adapter at boot time. The parameters in the bootstring are:

Internal name of the host adapter driver (see scsi(HW) for names of valid drivers).

Adapter I/O base address.

Adapter interrupt vector.

Adapter DMA channel.
For example, if the system fails to recognize your Adaptec 1522 host adapter board as configured, you would use a bootstring such as adapter=spad(0x340,11,0).

Note that many EISA and MCA boards get their configuration data exclusively from CMOS RAM and may ignore bootstrings.

The system is automatically booting; init(M) should be started with an argument of -a.

Define the primary tape system connected to the system; by default, the ct driver searches a pre-configured list of tape controllers for one which is present. The type specifies the controller. The known controllers include: mountain, ibm6157, everex/archive, tecmar/wangtek, archive, compaq, and emerald. Not all types are recognized on all systems. The special type none means there is no primary tape (so if there actually is one, it is ignored and cannot be used). The base is an I/O port address; irq is the interrupt request (interrupt vector) number; and dma is the DMA channel. The base, irq, and dma must be specified unless the type is none. All drivers are interpreted as decimal unless preceded by "0x" for hexadecimal or "0" for octal.

defbootsr scsi.noscan
The scsi.noscan bootstring prevents the scanning of the SCSI bus for additional hard disks during installation. The scan looks at every HBA that registers itself and then examines IDs 0-15 and all the LUNs. Some HBA hardware and drivers have problems when this scan happens: scsi.noscan simply prevents the scan.

disable=adapter1 [,adapter2...]
De-configure the pre-configured SCSI host adapters; the system will not use these adapters.

The system image dump area. Should the kernel panic, an attempt is made to save the system's memory on this device for later analysis by crash(ADM). If a swap area is specified, it is the default dump area; otherwise the default is usually hd(41). The special device none means the kernel should not attempt to save a core image if the system panics. The alternative form dumpdev=device is equivalent.

When the dump area is different from the swap area, the kernel prompts before starting the dump. This provides an opportunity to remove a valuable data tape and insert a designated dump tape into the drive. This prompt can be skipped by specifying an offset of 1.

For example, to dump to a SCSI tape drive, you might use dump=Stp(0). To dump to the same drive without prompting, you would use dump=Stp(0,1). Such a drive should be considered a dedicated dump device, since a data tape in the drive would be overwritten in the event of a panic.

The xnamex driver controls the primary hard disk. xnamex is the ``internal name'' of the driver specified in column 1 of its device entry. By default, the kernel searches for a hard disk (which it assumes is the primary unit) by querying a pre-configured list of drivers to determine if a hard disk controller is present.

Ignore the presence of a floating point coprocessor (287 or 387) when carrying out floating point computations; the (slower) floating point emulator will always be used instead. The default is to use any FPU found for floating point. This is useful if the FPU is suspected of malfunctioning or if the kernel incorrectly recognizes an FPU when one is not present.

Enable ISA bus support on selected drivers by setting n to 1. The default is usually 0. See the current Getting Started Guide for drivers that support this option.

Pauses scrolling of the hardware boot information.

The motherboard is an Intel Inboard, which should be run in ``turbo'' mode with caching enabled. This argument does not need to be specified on Inboard-equipped systems (but it is useful for improving performance), and must not be specified on any other type of system.

Defines the size of the buffer cache as n kilobytes. If n is between 1 and 9, allocates n% of existing memory for the buffer cache. This overrides the value of the kernel parameter NBUF.

adapter.nocheck | adapter.noscan
Disable hardware scanning for selected drivers. See the current Getting Started Guide for drivers that support this option.

Number of blocks in the swap area the system can use for swapping and paging. The blocks used are s through s + n - 1 , inclusive (where s is the swplo value). Some drivers override the specified nswap and swplo values if they detect they are the swapping device; otherwise there is no default nswap value.

periph=ha(number, [bus,] ID, lun)
Specifies the host adapter used by the generic peripheral interface driver. This kernel parameter allows you to install the operating system from a device connected to the system at an address other than the default, or to gain access to a newly connected device without reconfiguring and relinking the kernel.

For scsi(HW) devices, you must specify the peripheral type (Sdsk, Srom, Stp or Sflp), host adapter driver name (for example, ams or blad), the host adapter number, target ID, and logical unit number (LUN).

For EIDE/ATAPI devices, you must specify the peripheral type, the wd(HW) host adapter driver, whether it is attached to a primary or secondary controller (number parameter), and whether it is configured as master or slave (ID parameter).

The parameters in the string are:

Internal name of the peripheral interface driver. Possible values are:

hard disk drive

floppy disk drive (for example, LS-120/240 or floptical device)

CD-ROM drive

tape drive

The number of the bus on the host adapter; 0 is the primary bus, 1 the secondary, and so on. This field is optional; a default value of 0 is assumed if it is not specified. bus need only be specified if the SCSI host adapter supports two or more buses.

Internal name of the host adapter driver; valid drivers are listed in the file/etc/default/scsihas.

Host adapter number (starting at 0). For EIDE/ATAPI devices, number must be set to 0 or 1 depending on whether the device is attached to the primary or secondary controller, respectively.

Controller id: 0-15. For EIDE/ATAPI devices, ID must be set to 0 or 1 depending on whether the device is a master or a slave.

Logical unit number (lun) of peripheral device: 0-7. For EIDE/ATAPI devices, lun must be set to 0.


The root filesystem is read-only. Under normal conditions, use of this option will prevent any changes from being made to the root filesystem and in normal use will probably cause your system to malfunction. It is intended for use only by the installation procedure.

The root filesystem; default is usually hd(42). The alternative form rootdev=device is equivalent.

The initial swap area; default is usually hd(41). The alternative form swapdev=device is equivalent. The special device none means that the kernel will not start with any swap areas defined. The swap(ADM) command may then be used to define swap areas.

First block (starting with 0) in the swap area the system can use for swapping and paging. The default is usually 0.

The system console is controlled by driver xnamex, and its minor device number (default 0). Only the sio and cn drivers (xnamex) are supported. The optional list of params specify the baud rate, character size, parity, and number of stop bits. The known baud rates include B50 (50 baud), B75, B110, B134, B150, B300, B600, B1200, B2400, B4800, and B9600 (9600 baud), plus the two undefined speeds EXTA (typically 19,200 baud) and EXTB. Only two character sizes are recognized: CS7 (7 bits) and CS8. By default, parity is neither checked nor generated. If PARENB is specified, parity generation and checking is enabled with a parity bit added to each character. Even parity is used unless PARODD (odd parity) is also specified. If CSTOPB is specified, two stop bits are used; normally, only one stop bit is used. For example systty=sio(1,B1200,PARENB) would specify that the system console is /dev/tty1b (minor device 1 of the sio driver) at 1200 baud with even parity and one stop bit.

See the termio(M) manual page for additional information. Normally, an alternative system console is specified by use of the systty= standalone command or the SYSTTY setting in the defaults file. See the boot(HW) manual page for details.

Note that the systty= standalone command and SYSTTY defaults setting use a different syntax than the kernel module systty argument.

Configuring non-kernel modules

Specific drivers may use additional kernel parameters. They do not have a module of kernel but usually use their internal name (xnamex; defined as the first field of the mdevice file) as the module:[=[value]]
The name argument with optional value applies only to driver xnamex.
The ramdisk(HW) driver recognizes the kernel parameter:

Specify the minor device number of the preloaded ramdisk. (The preloaded ramdisk can be made the root device by specifying root=ram(minor) as a kernel bootstring.)


Bootstring arguments that refer to a device driver usually do not use the kernel module. Historical exceptions to this rule include kernel.ct. Driver-specific bootstrings should use a module name of xnamex, where xnamex is the internal name of the driver.

Older systems do not recognize module name prefixes, and so boot omits kernel from any keywords it automatically adds, such as auto and systty.

See also

boot(F), boot(HW), btld(F), crash(ADM), fd(HW), fdisk(ADM), hd(HW), init(M), link(HW), mdevice(F), ramdisk(HW), screen(HW), scsi(HW), serial(HW), string(HW), swap(ADM), systty(HW)

Information about developing device drivers is available at the Consolidated Hardware Development (HDK) Web Page

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003