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.