1.\" $NetBSD: boot.8,v 1.11 2003/05/30 05:34:46 fair Exp $ 2.\" 3.\" Copyright (c) 1999 Christopher G. Demetriou 4.\" All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 3. All advertising materials mentioning features or use of this software 15.\" must display the following acknowledgement: 16.\" This product includes software developed for the 17.\" NetBSD Project. See http://www.netbsd.org/ for 18.\" information about NetBSD. 19.\" 4. The name of the author may not be used to endorse or promote products 20.\" derived from this software without specific prior written permission. 21.\" 22.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 23.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 25.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 26.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 27.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 31.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32.\" 33.\" <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>> 34.\" 35.\" 36.\" Copyright (c) 1990, 1991 The Regents of the University of California. 37.\" All rights reserved. 38.\" 39.\" This code is derived from software contributed to Berkeley by 40.\" the Systems Programming Group of the University of Utah Computer 41.\" Science Department. 42.\" 43.\" Redistribution and use in source and binary forms, with or without 44.\" modification, are permitted provided that the following conditions 45.\" are met: 46.\" 1. Redistributions of source code must retain the above copyright 47.\" notice, this list of conditions and the following disclaimer. 48.\" 2. Redistributions in binary form must reproduce the above copyright 49.\" notice, this list of conditions and the following disclaimer in the 50.\" documentation and/or other materials provided with the distribution. 51.\" 3. All advertising materials mentioning features or use of this software 52.\" must display the following acknowledgement: 53.\" This product includes software developed by the University of 54.\" California, Berkeley and its contributors. 55.\" 4. Neither the name of the University nor the names of its contributors 56.\" may be used to endorse or promote products derived from this software 57.\" without specific prior written permission. 58.\" 59.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 60.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 61.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 62.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 63.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 64.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 65.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 66.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 67.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 68.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 69.\" SUCH DAMAGE. 70.\" 71.\" @(#)boot_hp300.8 8.2 (Berkeley) 4/19/94 72.\" 73.Dd May 29, 2003 74.Dt BOOT 8 alpha 75.Os 76.Sh NAME 77.Nm boot 78.Nd Alpha system bootstrapping procedures 79.Sh DESCRIPTION 80.Tn DEC 81.Tn Alpha 82systems can have either of two different firmware systems: 83.Tn ARC 84.Pq a.k.a. Tn AlphaBIOS , 85and 86.Tn SRM . 87Some 88.Tn Alpha 89systems have both in their flash 90.Tn RAM 91and can switch between them on command. 92.Tn ARC 93is used to bootstrap Microsoft Windows NT for 94.Tn Alpha . 95.Tn SRM 96is used to bootstrap 97.Tn OpenVMS 98and 99.Tn Ultrix . 100.Nx 101requires 102.Tn SRM . 103.Pp 104.Tn SRM 105can bootstrap from supported local storage devices, e.g., 106.Tn IDE 107disks or 108.Tn CD-ROM 109drives, 110.Tn SCSI 111disks or 112.Tn CD-ROM 113drives, and floppy drives. 114.Tn SRM 115can also network bootstrap via supported 116.Tn Ethernet 117interfaces, using 118.Tn BOOTP 119or 120.Tn MOP . 121The particular capabilities of 122.Tn SRM 123will vary from system to system. 124.Pp 125When 126.Tn SRM 127boots the system, it performs a Power On Self Test 128.Pq Tn POST , 129probes the system busses to identify devices, and initializes them. 130.Tn SRM 131includes an x86 instruction emulator in order to run the 132.Tn BIOS 133initialization routines found in the 134.Tn PROM 135of any video cards found. 136In this way, most generic 137.Tn PCI 138video cards can work in 139.Tn Alpha 140systems that have 141.Tn PCI 142bus slots. 143.Pp 144.Tn SRM 145then examines the state of one of several variables: 146.Ev auto_action . 147If the value of 148.Ev auto_action 149is 150.Qq halt 151then 152.Tn SRM 153will stop, print its prompt: 154.Qq \*[Gt]\*[Gt]\*[Gt] 155and wait for commands to be entered on the console. 156If the value of 157.Ev auto_action 158is 159.Qq boot 160then 161.Tn SRM 162will automatically bootstrap the operating system specified by 163various non-volatile environment variables. 164.Pp 165.Tn SRM 166device names are not the same as in 167.Nx , 168e.g., 169.Sy ewa0 170is a 171.Tn DEC 172.Qq tulip 173.Tn Ethernet 174interface, 175.Sy dka0 176is a 177.Tn SCSI 178disk on a recognized controller, 179.Sy dqa0 180is an 181.Tn IDE 182disk on a recognized controller. 183The 184.Ic show device 185command will list all the devices that 186.Tn SRM 187can bootstrap from. 188.Ss SRM Commands 189.Tn SRM 190is somewhat 191.Ux Ns No -like 192in that it incorporates a simple pipe and I/O redirection, 193which allows command sequences like: 194.Pp 195.Bd -literal -offset indent 196show config | more 197show * | more 198.Ed 199.Pp 200An essential but incomplete list of 201.Tn SRM 202commands follows: 203.\" .Pp 204.\" .Bl -tag -width "boot [-file filename] [-flags value] [-protocols enet_protocol] [device]" 205.\" .It Ic boot Oo Fl file Ar filename Oc Oo Fl flags Ar value Oc Oo Fl protocols Ar enet_protocol Oc Op Ar device 206.Pp 207.Ic boot 208.Op Fl file Ar filename 209.Op Fl flags Ar value 210.\" .Op Fl protocols Ar enet_protocol 211.Op Ar device 212.Pp 213Boot an operating system. 214The default arguments for this command are taken from the 215.Tn SRM 216environment variables: 217.Pp 218.Bl -tag -compact -width "boot_osflags" -offset indent 219.It Ev boot_file 220file name to bootstrap. 221.It Ev boot_osflags 222flags to pass to the secondary bootstrap program. 223.It Ev bootdef_dev 224default bootstrap device. 225.El 226.\" .It Ic help Op Ar command 227.Pp 228.Ic help Op Ar command 229.Pp 230Invoke the 231.Tn SRM 232help system. 233.\" .It Ic set Ar variable Ar value 234.Pp 235.Ic init 236.Pp 237Reset the 238.Tn SRM 239console, and take actions as specified by 240.Tn SRM 241variables. 242.Pp 243.Ic set Ar variable Ar value Op Fl default 244.Pp 245Set an 246.Tn SRM 247variable, e.g., 248.Bd -literal -offset indent 249set auto_action boot 250set bootdef_dev dka0 251set ewa0_mode auto 252.Ed 253.Pp 254If the 255.Fl default 256flag is used, the variable will be set to its default value. 257.\" .It Ic show Ar variable or subsystem 258.Pp 259.Ic show Ar variable or subsystem 260.Pp 261Show 262.Tn SRM 263variables and values, or show system state or configuration. 264If a wildcard is used, then all matching 265.Tn SRM 266variables are shown, e.g., 267.Pp 268.Bl -tag -width "show device" -compact -offset indent 269.It Ic show \&* 270will display all 271.Tn SRM 272variables. 273.It Ic show b* 274will display all variables whose names begin with 275.Em b . 276.It Ic show config 277will display the complete system configuration. 278.It Ic show device 279will display all bootable devices. 280.It Ic show memory 281will display the system's memory configuration. 282.El 283.\" .El 284.Ss SRM Variables 285.Bl -tag -width "ew*0_protocols" 286.It Ev auto_action 287What 288.Tn SRM 289will do at system startup or reset: 290.Bl -tag -width boot 291.It Ar boot 292automatically bootstrap the operating system. 293.It Ar halt 294after 295.Tn POST , 296prompt the user on the console for commands to execute. 297.El 298.Pp 299Some 300.Tn Alpha 301systems 302.Pq e.g., Tn AlphaServer 800 303have a 304.Qq halt 305switch, which if set, will override the action of this variable, and cause 306.Tn SRM 307to stop after 308.Tn POST 309and prompt the user for commands to execute. 310.It Ev bootdef_dev 311The default bootstrap device, e.g., 312.Sy dka0 , 313.Sy dqa0 , 314.Sy ewa0 . 315The 316.Ic show device 317command will list the available and recognized bootable devices. 318.It Ev boot_file 319The file to bootstrap from; this is a null string by default. 320.It Ev boot_osflags 321The flag passed to the secondary bootstrap program, and the 322.Nx 323kernel: 324.Bl -tag -width "XXXX" 325.It Sy a 326.Pq automatic 327multi-user mode bootstrap. 328.It Sy c 329crash dump immediately after 330.Xr autoconf 4 , 331if the 332.Nx 333kernel is compiled with 334.Dv DEBUG ; 335See 336.Xr options 4 . 337.It Sy d 338break into the debugger ASAP, if the 339.Nx 340kernel is compiled with 341.Dv DDB 342or 343.Dv KGDB ; 344See 345.Xr options 4 . 346.It Sy h 347on a reboot request from the 348.Nx 349kernel, halt the system instead of rebooting. 350.It Sy i 351the 352.Nx 353secondary bootstrap program will stop and prompt for the 354.Nx 355kernel file name to bootstrap. 356.It Sy n 357the 358.Nx 359kernel will ask for the root file system's device, the kernel core 360dump device, and the path to 361.Xr init 8 . 362.It Sy q 363bootstrap quietly. 364.It Sy s 365single-user mode bootstrap. 366.It Sy v 367bootstrap verbosely. 368.El 369.Pp 370These may be used in combinations that are not mutually exclusive. 371These options are case-insensitive to be compatible with 372.Tn DEC 373operating systems. 374.It Ev console 375What type of console device 376.Tn SRM 377and 378.Nx 379will use: 380.Bl -tag -width "graphics" 381.It Ar graphics 382use a video card for output, and a 383.Tn PC 384keyboard for input. 385.It Ar serial 386use the first serial port for console. 387.El 388.Pp 389Just as with 390.Tn Sun 391systems, 392.Tn Alpha 393systems will use the first serial port as a console if there is no 394keyboard plugged into the keyboard port, even if 395.Ev console 396is set to 397.Qq graphics . 398.It Ev ew*0_mode 399The media and speed for 400.Tn DEC 401.Qq tulip 402Ethernet interfaces 403.Po 404e.g., 405.Tn DECchip 40621040, 21140, 21143 407.Pc ; 408possible values are: 409.Ic auto 410.Po 411.Tn IEEE 412802.3u 413.Qq Nway 414negotiation 415.Pc , 416.Ic BNC , 417.Ic AUI , 418.Ic Twisted-Pair , 419.Ic FastFD 420.Pq Fast Full Duplex . 421.It Ev ew*0_protocols 422The protocol to use when netbooting, i.e., 423.Tn MOP 424.Pq Maintenance Operations Protocol , 425or 426.Tn BOOTP 427.Pq Bootstrap Protocol . 428.Pp 429The 430.Tn Alpha 431.Tn SRM 432firmware is picky about 433.Tn BOOTP 434responses; the 435.Xr dhcpd.conf 5 436on the server needs the 437.Pp 438.Bd -literal -offset indent 439always-reply-rfc1048 on; 440.Ed 441.Pp 442directive in the section for netbooting 443.Tn Alpha 444systems. 445.It Ev os_type 446This determines which system firmware will be used after the next 447power-cycle, if both 448.Tn ARC 449and 450.Tn SRM 451are present in 452.Tn Flash RAM . 453This should be set to any of 454.Qq Ux , 455.Qq osf , 456or 457.Qq vms 458to select the 459.Tn SRM 460console required for 461.Nx . 462.Tn OSF 463refers to the Open Software Foundation. 464.El 465.Ss After bootstrap 466Once the 467.Nx Ns Tn /alpha 468kernel is booted normally 469it initializes itself and proceeds to start the system. 470An automatic consistency check of the file systems takes place, 471and unless this fails, the system comes up to multi-user operation. 472.Pp 473The proper way to shut the system down is with the 474.Xr shutdown 8 475command. 476.Pp 477If the system crashes, it will enter the kernel debugger, 478.Xr ddb 4 , 479if it is configured in the kernel. 480If the crash occurred during initialization and the debugger is 481not present or is exited, the kernel will halt the system. 482.Pp 483If the crash occurred during normal operation and the debugger 484is not present or is exited, the system will attempt a dump to the 485configured dump device (which will be automatically recovered with 486.Xr savecore 8 487during the next bootstrap cycle), and after the dump is complete (successful 488or not) the kernel will attempt a reboot. 489.Sh FILES 490.Bl -tag -width /usr/mdec/bootxx_cd9660 -compact 491.It Pa /boot 492.Nx 493secondary bootstrap program 494.Pq installed 495.It Pa /netbsd 496default 497.Nx 498system kernel 499.It Pa /usr/mdec/bootxx_cd9660 500primary bootstrap for 501.Dq cd9660 502.Pq Tn ISO 9660 503file system 504.It Pa /usr/mdec/bootxx_ffs 505primary bootstrap for 506.Dq ffs 507file system 508.Pq Berkeley Fast File System 509.It Pa /usr/mdec/boot 510secondary bootstrap 511.It Pa /usr/mdec/netboot 512network bootstrap 513.It Pa /usr/mdec/ustarboot 514.Dq ustar 515disk and tape bootstrap 516.El 517.Sh SEE ALSO 518.Xr ddb 4 , 519.Xr diskless 8 , 520.Xr init 8 , 521.Xr installboot 8 , 522.Xr mkbootimage 8 , 523.Xr rc 8 , 524.Xr reboot 8 , 525.Xr savecore 8 , 526.Xr setnetbootinfo 8 , 527.Xr shutdown 8 528.Rs 529.%T "Alpha Architecture Reference Manual Third Edition" 530.%Q "Alpha Architecture Committee" 531.%I "Digital Press" 532.%D 1998 533.Re 534.Sh BUGS 535The device names used by 536.Nx Ns Tn /alpha 537and the 538.Tn SRM Console 539often have no relation to each other. 540