1.\" $NetBSD: boot.8,v 1.6 2009/08/22 00:04:22 joerg Exp $ 2.\" 3.\" Copyright (c) 2006 Stephen M. Rumble 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. The name of the author may not be used to endorse or promote products 12.\" derived from this software without specific prior written permission. 13.\" 14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 15.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 16.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 17.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 18.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 19.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 20.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 21.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 23.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24.\" 25.Dd August 11, 2007 26.Dt BOOT 8 sgimips 27.Os 28.Sh NAME 29.Nm boot 30.Nd sgimips system bootstrapping procedures 31.Sh DESCRIPTION 32.Tn Silicon Graphics 33MIPS-based computers all feature essentially similar firmware systems. 34However, as of the Indigo R4x00 series (IP20), quasi- 35.Tn ARCS 36(Advanced RISC Computing Specification) compatible features are also present. 37All known PROM implementations support loading executables from disk 38devices, as well as from the network via BOOTP and TFTP. 39.Sh Disk Booting 40.Tn SGI 41provides a small filesystem at the beginning of each bootable disk called 42a Volume Header, which contains a boot loader and other standalone utilities. 43Booting 44.Nx 45requires that we write our bootloader into to the volume header using 46.Xr sgivol 8 . 47.Pp 48Once a bootloader is present in the volume header, it may be executed 49directly by the PROM either manually, or at boot time using the 50.Dq OSLoader 51PROM environment variable. 52The 53.Nx 54bootloader will obtain the kernel filename to boot from the PROM or EEPROM. 55This is specified by setting the PROM environment variable 56.Dq OSLoadFilename 57to an appropriate value. 58For instance, 59.Dq /netbsd.ecoff . 60.Pp 61For example, the following will configure the PROM to use the bootloader 62.Dq aoutboot 63to load the kernel 64.Dq netbsd.old 65.Pp 66.Dl Ic setenv OSLoader aoutboot 67.Dl Ic setenv OSLoadFilename netbsd.old 68.Sh Network Booting 69The system firmware will obtain an IP address, TFTP server address, and an 70optional filename from the BOOTP server and download it via TFTP. 71The PROM's configurable network address environment variable 72.Dq netaddr 73must match the address provided by the BOOTP server. 74.Pp 75An example BOOTP entry for 76.Xr dhcpd 8 77follows: 78.Pp 79.Bd -unfilled -offset indent 80 host indigo3k { 81 hardware ethernet 08:00:69:42:42:42; 82 fixed-address 192.168.0.2; 83 option host-name "indigo3k.foo"; 84 #filename "/netbsd.ecoff"; 85 next-server 192.168.0.1; 86 option root-path "/export/indigo3k/root"; 87 server-name "192.168.0.1"; 88 } 89.Ed 90.Pp 91To boot a kernel named 92.Dq netbsd.ecoff 93the user would type: 94.Dl Ic boot -f bootp():/netbsd.ecoff 95.Pp 96See 97.Xr dhcpd.conf 5 98for more information on configuring 99.Xr dhcpd 8 100as a BOOTP server. 101.Sh SEE ALSO 102.Xr dhcpd.conf 5 , 103.Xr dhcpd 8 , 104.Xr sgivol 8 105.Sh CAVEATS 106Some older PROM revisions do not support loading of ELF images. 107The build system automatically prepares ECOFF versions, which are 108correctly interpreted. 109.Sh BUGS 110.Nx 111does not support booting from disk on systems lacking an ARCS-compatible 112firmware (presently supported systems include Personal Iris and Indigo R3000). 113It is possible to work around this by creating a sufficiently large volume 114header and placing the kernel in it, or by network booting. 115.Pp 116Some firmware revisions have a bug, which precludes them from communicating 117with TFTP servers using ports above 32767. 118When using 119.Nx 120as the TFTP server, this problem may be worked around as follows: 121.Pp 122.Dl Ic sysctl -w net.inet.ip.anonportmin=20000 123.Dl Ic sysctl -w net.inet.ip.anonportmax=32767 124.Pp 125Another bug exists in some firmware revisions, which precludes the PROM from 126communicating with TFTP servers that employ PMTU (Path MTU) discovery. 127This bug may be worked around by disabling PMTU on the TFTP server. 128This does not presently affect 129.Nx 130servers. 131.Pp 132This man page is horribly incomplete. 133