xref: /netbsd-src/share/man/man8/man8.sgimips/boot.8 (revision 3af2acdca3027a6c734b99873d418d59b2d8f42a)
1*3af2acdcSchristos.\"	$NetBSD: boot.8,v 1.7 2017/02/17 22:30:28 christos Exp $
2c916a07bSrumble.\"
3c916a07bSrumble.\" Copyright (c) 2006 Stephen M. Rumble
4c916a07bSrumble.\" All rights reserved.
5c916a07bSrumble.\"
6c916a07bSrumble.\" Redistribution and use in source and binary forms, with or without
7c916a07bSrumble.\" modification, are permitted provided that the following conditions
8c916a07bSrumble.\" are met:
9c916a07bSrumble.\" 1. Redistributions of source code must retain the above copyright
10c916a07bSrumble.\"    notice, this list of conditions and the following disclaimer.
11c916a07bSrumble.\" 2. The name of the author may not be used to endorse or promote products
12c916a07bSrumble.\"    derived from this software without specific prior written permission.
13c916a07bSrumble.\"
14c916a07bSrumble.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
15c916a07bSrumble.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
16c916a07bSrumble.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
17c916a07bSrumble.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
18c916a07bSrumble.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19c916a07bSrumble.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20c916a07bSrumble.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21c916a07bSrumble.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22c916a07bSrumble.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23c916a07bSrumble.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24c916a07bSrumble.\"
25*3af2acdcSchristos.Dd February 17, 2017
26c916a07bSrumble.Dt BOOT 8 sgimips
27c916a07bSrumble.Os
28c916a07bSrumble.Sh NAME
29c916a07bSrumble.Nm boot
30c916a07bSrumble.Nd sgimips system bootstrapping procedures
31c916a07bSrumble.Sh DESCRIPTION
32c916a07bSrumble.Tn Silicon Graphics
33c916a07bSrumbleMIPS-based computers all feature essentially similar firmware systems.
34c916a07bSrumbleHowever, as of the Indigo R4x00 series (IP20), quasi-
35c916a07bSrumble.Tn ARCS
36c916a07bSrumble(Advanced RISC Computing Specification) compatible features are also present.
37c916a07bSrumbleAll known PROM implementations support loading executables from disk
38c916a07bSrumbledevices, as well as from the network via BOOTP and TFTP.
39c916a07bSrumble.Sh Disk Booting
40c916a07bSrumble.Tn SGI
41c916a07bSrumbleprovides a small filesystem at the beginning of each bootable disk called
42c916a07bSrumblea Volume Header, which contains a boot loader and other standalone utilities.
43c916a07bSrumbleBooting
44c916a07bSrumble.Nx
45c916a07bSrumblerequires that we write our bootloader into to the volume header using
46*3af2acdcSchristos.Xr sgimips/sgivol 8 .
47c916a07bSrumble.Pp
48c916a07bSrumbleOnce a bootloader is present in the volume header, it may be executed
49c916a07bSrumbledirectly by the PROM either manually, or at boot time using the
5043831249Swiz.Dq OSLoader
51c916a07bSrumblePROM environment variable.
52c916a07bSrumbleThe
53c916a07bSrumble.Nx
54c916a07bSrumblebootloader will obtain the kernel filename to boot from the PROM or EEPROM.
55c916a07bSrumbleThis is specified by setting the PROM environment variable
5643831249Swiz.Dq OSLoadFilename
57c916a07bSrumbleto an appropriate value.
58c916a07bSrumbleFor instance,
5943831249Swiz.Dq /netbsd.ecoff .
60c916a07bSrumble.Pp
61c916a07bSrumbleFor example, the following will configure the PROM to use the bootloader
6243831249Swiz.Dq aoutboot
63c916a07bSrumbleto load the kernel
6443831249Swiz.Dq netbsd.old
65c916a07bSrumble.Pp
66c916a07bSrumble.Dl Ic setenv OSLoader aoutboot
67c916a07bSrumble.Dl Ic setenv OSLoadFilename netbsd.old
68c916a07bSrumble.Sh Network Booting
69c916a07bSrumbleThe system firmware will obtain an IP address, TFTP server address, and an
70c916a07bSrumbleoptional filename from the BOOTP server and download it via TFTP.
71c916a07bSrumbleThe PROM's configurable network address environment variable
7243831249Swiz.Dq netaddr
73c916a07bSrumblemust match the address provided by the BOOTP server.
74c916a07bSrumble.Pp
75c916a07bSrumbleAn example BOOTP entry for
76c916a07bSrumble.Xr dhcpd 8
77c916a07bSrumblefollows:
78c916a07bSrumble.Pp
79c916a07bSrumble.Bd -unfilled -offset indent
80c916a07bSrumble	host indigo3k {
81c916a07bSrumble		hardware ethernet 08:00:69:42:42:42;
82c916a07bSrumble		fixed-address 192.168.0.2;
83c916a07bSrumble		option host-name "indigo3k.foo";
84c916a07bSrumble		#filename "/netbsd.ecoff";
85b62e2a9bSrumble		next-server 192.168.0.1;
86c916a07bSrumble		option root-path "/export/indigo3k/root";
87c916a07bSrumble		server-name "192.168.0.1";
88c916a07bSrumble	}
89c916a07bSrumble.Ed
90c916a07bSrumble.Pp
91c916a07bSrumbleTo boot a kernel named
9243831249Swiz.Dq netbsd.ecoff
93c916a07bSrumblethe user would type:
94c916a07bSrumble.Dl Ic boot -f bootp():/netbsd.ecoff
95c916a07bSrumble.Pp
96c916a07bSrumbleSee
97c916a07bSrumble.Xr dhcpd.conf 5
98c916a07bSrumblefor more information on configuring
99a35cefceSjoerg.Xr dhcpd 8
100c916a07bSrumbleas a BOOTP server.
101c916a07bSrumble.Sh SEE ALSO
102c916a07bSrumble.Xr dhcpd.conf 5 ,
10343831249Swiz.Xr dhcpd 8 ,
104*3af2acdcSchristos.Xr sgimips/sgivol 8
105c916a07bSrumble.Sh CAVEATS
10643831249SwizSome older PROM revisions do not support loading of ELF images.
10743831249SwizThe build system automatically prepares ECOFF versions, which are
10843831249Swizcorrectly interpreted.
109c916a07bSrumble.Sh BUGS
110c916a07bSrumble.Nx
111c916a07bSrumbledoes not support booting from disk on systems lacking an ARCS-compatible
112c916a07bSrumblefirmware (presently supported systems include Personal Iris and Indigo R3000).
113c916a07bSrumbleIt is possible to work around this by creating a sufficiently large volume
114c916a07bSrumbleheader and placing the kernel in it, or by network booting.
115c916a07bSrumble.Pp
116c916a07bSrumbleSome firmware revisions have a bug, which precludes them from communicating
117c916a07bSrumblewith TFTP servers using ports above 32767.
118c916a07bSrumbleWhen using
119c916a07bSrumble.Nx
120c916a07bSrumbleas the TFTP server, this problem may be worked around as follows:
121c916a07bSrumble.Pp
122c916a07bSrumble.Dl Ic sysctl -w net.inet.ip.anonportmin=20000
123c916a07bSrumble.Dl Ic sysctl -w net.inet.ip.anonportmax=32767
124c916a07bSrumble.Pp
12529de6bc6SrumbleAnother bug exists in some firmware revisions, which precludes the PROM from
12629de6bc6Srumblecommunicating with TFTP servers that employ PMTU (Path MTU) discovery.
12729de6bc6SrumbleThis bug may be worked around by disabling PMTU on the TFTP server.
12809bb3e5aSwizThis does not presently affect
12909bb3e5aSwiz.Nx
13009bb3e5aSwizservers.
13129de6bc6Srumble.Pp
132c916a07bSrumbleThis man page is horribly incomplete.
133