boot(ADM)


boot -- system boot program

Description

The boot program loads and executes the system kernel and other stand-alone programs. Stand-alone programs execute before the operating system is up and running, so they cannot depend on operating system services. In normal operation, kernels are the only stand-alone programs ever used.

During installation of the operating system, the boot program is placed on the hard disk starting at logical block 0 of the active partition. See fdisk(ADM) for a description of the partition table and active partitions.

The system BIOS invokes a boot program each time the computer is reset or powered up. The BIOS loads the first bootable image it finds on any of the devices it searches.

Many BIOS user-interface programs allow you to specify the list of devices to search and the order of search. The list may include the removable media drives (floppy disk, CD-ROM), and the hard drive. (See your hardware documentation for instructions on doing this.)

A boot initiated from removable media has two stages:

  1. The boot block in sector 0 of the filesystem loads boot.

  2. boot loads and executes the kernel.

A boot initiated from the hard disk has three stages:

  1. The system firmware loads the masterboot from absolute sector 0 on the hard disk.

  2. The masterboot then loads the partition boot program from the active partition.

  3. The remainder of boot is loaded from /stand, a bfs filesystem.

When first invoked, boot displays a message indicating that it is starting the operating system and then displays the system logo.

At this point you can press any key to interrupt boot and initiate the Boot Command Processor (BCP). The prompt [boot] indicates that you are in the BCP. In this interactive mode you can make entries in the following syntax:

   PARAMETER=value

which is the same syntax as that used in the /stand/boot file. You can change the values of parameters on the existing parameter/value list, add new ones to the list, or remove system parameters. (See boot(F) for a complete list of valid parameters.)


NOTE: The parameters you add, change, or remove interactively apply only to the kernel that you are in the process of booting, except in the following circumstance: If you are installing for the first time (Initial System Load), parameters added using the BCP will be automatically added to /stand/boot. Following all other uses of the BCP you must also edit the /stand/boot file and add, change, or remove them there for the effect to be permanent.

The Boot Command Processor commands can be abbreviated to a unique substring, and are case-insensitive. When param is used as an argument to show, however, it is case-sensitive. The following commands are available:


? or help
Displays this list of commands.

boot [filename]
Loads and runs specified program; default is BOOTPROG.

filename can be prefixed with device to override the default device. Standard values for device take the following forms:


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

hd(unit[,partition][,slice])
specifies the hard disk, drive number unit (starting at zero), partition number partition, and slice number slice. partition can also be specified as an operating system type name (UNIX, 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 device is specified without 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)

dir [dev]
Lists all files in /stand directory; default device is BOOTDEV.

logo
Displays the logo image until a key is pressed.

logo off
Turns off display of the logo image for the duration of this boot session.

show [-a | param]
Shows boot parameter values:

-a
Shows all boot parameters, even messages.

param
Shows only boot parameters and messages starting with param.

param=value
Sets the value of a boot parameter.

param+=value
Appends the value to a boot parameter, inserting a comma.
If the TIMEOUT parameter is non-zero (default is 0) and you have not typed anything, boot times out and resumes loading the default program.

For example, you can use the BOOTPROG parameter to change the name of the kernel file to boot from the /stand directory. As delivered, the default is unix. If you change the value of BOOTPROG to unix.old or unix.good, for example, the boot program will load that alternate kernel from the boot filesystem.

If you specify a file that does not exist or cannot be loaded for some reason, you will be warned and will re-enter the BCP.

Files

/stand/boot
/stand/bootmsgs

Diagnostics

The masterboot and boot programs have different error messages.

masterboot diagnostics

The masterboot program displays an error message and locks the system. The following is a list of the most common masterboot messages and their meanings:

Error loading operating system
Disk I/O error occurred when trying to read in the partition boot of the active operating system.

Missing operating system
The sector loaded from the active partition is not marked as a valid partition boot block. (The last two bytes of the 512-byte sector must be ``0x55, 0xAA''.)

Cannot determine disk geometry
The masterboot was unable to determine the logical geometry (cylinders, heads, etc.) of the disk.

No active partition
No partition in the partition table is marked active.

References

boot(F), disksetup(ADM), fd(HW), fdisk(ADM), sd01(HW), vtoc(HW)

Notices

The boot program cannot be used to load programs that have not been linked for standalone execution. To create stand-alone programs, use the option of the system linker ld(C) and special stand-alone libraries.

Although stand-alone programs can operate in real or protected mode, they must not be large or huge model programs. Programs in real mode can use the input/output routines of the computer's startup ROM.


© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 - 02 June 2005