BOOT(8) NetBSD System Manager's Manual (PMAX Architecture) BOOT(8) NNAAMMEE bboooott - system bootstrapping procedures DDEESSCCRRIIPPTTIIOONN The NetBSD kernel is started by placing it at 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. PPoowweerr ffaaiill aanndd ccrraasshh rreeccoovveerryy.. 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. CCoolldd ssttaarrttss.. At power up, all DECstation ROMs consult the hhaallttaaccttiioonn en- vironment variable in EEPROM to determine whether or not to attempt to boot automatically. If this variable is set to hh, the ROM prints a prompt on the console and waits for user commands. If set to bb, the ROM attempts to autoboot. On the DECstation 2100 and 3100, the path used for automatic booting is stored in the bboooottppaatthh 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 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, and when booting off of disk, the filename of a kernel must be specified. Gener- ally, the kernel is named nneettbbssdd.. An example bootpath setting would be: setenv bootpath rz(0,1,0)netbsd For automatic boots, the ROM automatically passes a --aa argument to the boot loader, requesting that NetBSD attempt to come up to multi-user mode. At the boot ROM prompt, the user may boot NetBSD with either the aauuttoo or the bboooott command. If the aauuttoo command is used, the --aa argument is passed to the kernel, requesting a multi-user boot; otherwise the --ss argument is passed, requesting that NetBSD boot to single user mode. When either the bboooott or the aauuttoo command is issued with no arguments, the kernel specified in the bootpath environment variable is booted. An al- ternative kernel may be specified with the --ff flag, followed by the path of the kernel to boot, as described above. For example: boot -f rz(0,4,0)netbsd.new 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., --aa)) when setting the bboooott 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 num- ber, a TurboChannel-option-specific device name, and a path to the file to load, all seperated 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 ccnnffgg command at the boot prompt. You can get more detailed information about a specific TurboChannel option by typing ccnnffgg 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 net- work 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 bboooott command must be used. With no arguments, this simply boots the default kernel with the default arguments as set with sseetteennvv bboooott.. 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 SSEEEE AALLSSOO crash(8m), fsck(8), halt(8), init(8), newfs(8), rc(8), shutdown(8), syslogd(8), reboot(8) HHIISSTTOORRYY The bboooott command is currently under development. 4.4BSD July 23, 1991 2