BOOT(8) | System Manager's Manual (pmax) | BOOT(8)

# NAME

`boot` — system bootstrapping procedures

# DESCRIPTION

The NetBSD kernel is started by placing it near the beginning of physical memory and transferring to the entry point. Since the system is not reenterable, it is necessary to read it in from disk or tape each time it is to be bootstrapped.

## Power fail and crash recovery

Normally, the system will boot itself at power-up or after crashes. An automatic consistency check of the file systems will be performed, and unless this fails, the system will resume multi-user operations.

## Cold starts

At power up, all DECstation ROMs consult the `haltaction` environment variable in EEPROM to determine whether or not to attempt to boot automatically. If this variable is set to ‘h’, the ROM prints a prompt on the console and waits for user commands. If set to ‘b’, the ROM attempts to autoboot.

# DECSTATION 2100 and 3100

On the DECstation 2100 and 3100, the path used for automatic booting is stored in the `bootpath` environment variable.
The path is made up of a device type specifier (e.g., rz, tz, mop or tftp) followed by a triplet in the form (x,y,z), followed by a filename to load.

Within the triplet, x is the controller (always 0), y is the SCSI id of the drive to boot from or 0 for net boots, and z is the partition to boot from (usually 0 for SCSI devices, always zero for network booting). For both disk and network boots, () may be specified instead of (0,0,0).

The filename is optional for bootp/tftp and mop booting, since in these cases the network protocol can be used to determine which file to boot. When booting off the tape, no filename should be specified. When booting off of disk, the filename is optional but is usually specified. If no filename is specified when booting off disk, the following filenames are tried in order: `netbsd.pmax`, `netbsd`, `netbsd.gz`, `netbsd.bak`, `netbsd.old`, `onetbsd`, `gennetbsd`. Generally, the kernel is named `netbsd`.

An example bootpath setting would be:

``setenv bootpath rz(0,1,0)netbsd``

At the PROM prompt, the user may boot NetBSD with either the `auto` or the `boot` command. If the `auto` command is used, the `-a` argument is passed to the kernel, requesting a multi-user boot; otherwise the `-s` argument is passed, requesting that NetBSD boot to single user mode.

When either the `boot` or the `auto` command is issued with no arguments, the kernel specified in the bootpath environment variable is booted. With the `boot` command, an alternative kernel may be specified with the `-f` flag, followed by the path of the kernel to boot, as described above. For example:

``boot -f rz(0,4,0)netbsd.new``

# TURBOchannel DECstations

On TURBOchannel machines (all DECstation 5000 models), the boot path is specified in the boot environment variable, along with any arguments to be passed to the kernel. Note that to specify boot arguments (e.g., `-a`) when setting the `boot` environment variable, the filename and arguments must be enclosed in quotes. For example:

``setenv boot` “`3/rz4/netbsd -a`”`

The device from which to boot is specified as the TURBOchannel slot number, a TURBOchannel-option-specific device name, and a path to the file to load, all separated by slashes. You can get a list of the devices installed in your TURBOchannel slots (as well as any built-in devices which appear as TURBOchannel slots) by typing the `cnfg` command at the boot prompt. You can get more detailed information about a specific TURBOchannel option by typing `cnfg` followed by the slot number of that option.

For SCSI devices, the option-specific device identifier is either rz# for disks or tz# for tapes, where # is the SCSI id of the device. For network devices, the option-specific protocol identifier is either mop or tftp. Filename requirements are as for the DECstation 2100 and 3100.

To start NetBSD from the boot prompt, the `boot` command must be used. With no arguments, this simply boots the default kernel with the default arguments as set with `setenv` `boot`. If no boot environment variable is set or if an alternative kernel is to be booted, the path of that kernel may be specified after the boot command as described above, and any arguments may be passed similarly. For example:

``boot 3/rz4/netbsd.new -a``

# KERNEL ARGUMENTS

The kernel supports the following arguments:

`a`
  Autoboot -- try and boot to multi-user mode without further input.
`m`
  Use a miniroot already present in memory.
`n`
  Prompt for the root file system device, the system crash dump device, and the path to init(8).
`N`
  Do not prompt for the root file system device, the system crash dump device, and the path to init(8). If the configured-in devices are present, use them.
`s`
  Boot only to single-user mode.

Since DECstation PROMs also parse any arguments with a leading "-", and reject unrecognized options, arguments other than "a" or "s" should be specified after the kernel name with no leading "-". For example:

``boot 3/rz4/netbsd ns``

# SEE ALSO

ddb(4), halt(8), init(8), installboot(8), rc(8), reboot(8), savecore(8), shutdown(8)

# HISTORY

The `boot` command is currently under development.

April 8, 2003 | NetBSD 11.99