xref: /netbsd/share/man/man8/man8.sgimips/boot.8 (revision 6550d01e)
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