Annotation of wikisrc/ports/sgimips.mdwn, revision 1.1
1.1 ! mspo 1: [[!template id=port
! 2: port="sgimips"
! 3: cur_rel="6.0"
! 4: future_rel="7.0"
! 5: changes_cur="6.0"
! 6: changes_future="7.0"
! 7: thumbnail="http://www.netbsd.org/images/ports/sgimips/o2.gif"
! 8: about="""
! 9: NetBSD/sgimips is a port of NetBSD to the MIPS processor based computers by [Silicon Graphics](http://www.sgi.com/).
! 10:
! 11: NetBSD is the world's first Open Source operating system running on Silicon Graphics O2.
! 12: """
! 13: supported_hardware="""
! 14: ###Supported System Models
! 15:
! 16: * IP6 machines
! 17: * 4D/20
! 18: * IP10 machines
! 19: * 4D/25
! 20: * IP12 machines
! 21: * Indigo (R3000)
! 22: * 4D/30 (theoretical/untested)
! 23: * 4D/35
! 24: * IP20 machines
! 25: * Indigo (R4x00)
! 26: * IP22 machines
! 27: * Indigo2 (R4x00)
! 28: * Challenge M
! 29: * IP24 machines
! 30: * Indy (R4x00, R5000)
! 31: * Challenge S (R4x00, R5000)
! 32: * IP32 machines
! 33: * O2 (R5000, RM5200, R10000, R12000)
! 34:
! 35: ###Supported Peripherals
! 36:
! 37: * On-board Z8530 serial interface (zsc)
! 38: * On-board SEEQ 80c03 ethernet interface (sq)
! 39: * On-board WD33C93 SCSI interface (wdsc)
! 40: * On-board HAL2 audio interface (haltwo)
! 41: * On-board AIC7880 wide SCSI interface on O2 (ahc)
! 42: * On-board NS16550 based serial interface on O2 (com)
! 43: * On-board MACE MAC-110 Ethernet on O2 (mec)
! 44: * On-board framebuffer on O2 (crmfb) (-current)
! 45: * On-board PS/2 keyboard/mouse on O2 (macekbc, pckbd, pms) (-current)
! 46: * On-board Moosehead audio interface on O2 (mavb) (-current)
! 47: * On-board framebuffer on Indy (newport)
! 48: * On-board PC-style keyboard/mouse on Indy (pckbc, pckbd, pms)
! 49: * On-board framebuffer on Indigo (grtwo, light)
! 50: * On-board Z8530 based keyboard/mouse on Indigo (zsc, zskbd, zsms)
! 51: * E++ GIO Ethernet Adapter (sq) (-current)
! 52: * GIO32 SCSI Adapter (wdsc) (-current)
! 53: * Phobos GIO G100/G130/G160 Fast Ethernet (tlp) (NetBSD 4.0/-current)
! 54: * Set Engineering GIO 100baseTX Fast Ethernet (tl) (-current)
! 55: * Most MI PCI devices
! 56: * MI SCSI devices
! 57:
! 58: """
! 59:
! 60: unsupported_hardware="""
! 61:
! 62: * R10000 Power Indigo2 (IP28) (on-going)
! 63: * Octane (IP30) (required mips64 toolchain)
! 64: * L2 cache on machines with R4600 CPU
! 65:
! 66: """
! 67:
! 68: additional="""
! 69: * [SGI Hardware Techpubs Library](http://techpubs.sgi.com/library/tpl/cgi-bin/browse.cgi?db=bks&coll=hdwr&pth=/SGI_EndUser)
! 70: (including some Indy/Indigo2/O2 manuals)
! 71: * [Glaurung's SGI O2](http://www.linux-mips.org/~glaurung/) page (including Linux/O2 info)
! 72: * [GXemul](http://gxemul.sourceforge.net/) a functional machine emulator which also emulates O2.
! 73: * [Indy tech](http://www.reputable.com/indytech.html) site has a lot of information on the SGI Indy hardware.
! 74: * [O2 Workstation Hardware Reference Guide](http://techpubs.sgi.com/library/tpl/cgi-bin/browse.cgi?coll=hdwr&db=bks&cmd=toc&pth=/SGI_EndUser/O2_OG)
! 75: * [Indigo2 Workstation Owner's Guide](http://techpubs.sgi.com/library/tpl/cgi-bin/browse.cgi?coll=hdwr&db=bks&cmd=toc&pth=/SGI_EndUser/Indigo2_OG)
! 76: * [Indy Workstation Owner's Guide](http://techpubs.sgi.com/library/tpl/cgi-bin/browse.cgi?coll=hdwr&db=bks&cmd=toc&pth=/SGI_EndUser/Indy_OwnerGd)
! 77: * [IRIS Indigo Workstation Owner's Guide](http://techpubs.sgi.com/library/tpl/cgi-bin/browse.cgi?coll=hdwr&db=bks&cmd=toc&pth=/SGI_EndUser/Indigo_OG)
! 78: * [IRIX Device Driver Programmer's Guide](http://techpubs.sgi.com/library/tpl/cgi-bin/browse.cgi?coll=0650&db=bks&cmd=toc&pth=/SGI_Developer/DevDriver_PG)
! 79:
! 80: <div id="content"><div class="fullWidth"><div class="rowOfBoxes">
! 81: <h1>NetBSD/sgimips: Frequently Asked Questions</h1>
! 82: <h3 class="title"><a name="general">General Questions</a></h3>
! 83: <ul>
! 84: <li><a href="#serialconsole">Things worth knowing about the Indy serial console</a></li>
! 85: <li><a href="#resetting-eaddr">How do I reset $eaddr on IP22 etc.?</a></li>
! 86: <li><a href="#prom-tftp-client-failing">PROM tftp client failing with default NetBSD tftpd settings</a></li>
! 87: <li><a href="#prom-issues">Other PROM issues you might encounter</a></li>
! 88: <li><a href="#sgivol">Updating the bootloader (using sgivol)</a></li>
! 89: </ul>
! 90: <h3 class="title"><a name="other">Other sources of information</a></h3>
! 91: <ul>
! 92: <li><a href="#on-site">Other NetBSD Documentation</a></li>
! 93: <li><a href="#off-site">Other Off-Site Documentation</a></li>
! 94: </ul>
! 95: <hr>
! 96: <h3 class="title">General Questions</h3>
! 97: <h4 class="title">
! 98: <a name="serialconsole"></a>Things worth knowing about the Indy serial console (<a href="#general">top</a>)
! 99: </h4>
! 100: <p>
! 101: Note that this information may apply to other models too. To get the machine
! 102: to boot up with a serial console, make sure the keyboard is unplugged when
! 103: turning on the machine. The serial console runs on serial #1, at 9600,
! 104: 8N1 by default.
! 105: </p>
! 106: <p>
! 107: It is also possible to do a "<code class="code">setenv console d</code>" in the PROM
! 108: monitor to get the console to serial #1, or a "<code class="code">setenv console d2</code>"
! 109: to get it to serial #2 (default is "<code class="code">g</code>"). Optionally, the console's
! 110: speed can be set with "<code class="code">setenv dbaud <bps></code>". After setting
! 111: these PROM variables either do an "<code class="code">init</code>" or a reboot of the
! 112: machine.
! 113: </p>
! 114: <p>
! 115:
! 116: When booting up IRIX on the console, logins on the serial console
! 117: might be disabled. You can enable them by editing /etc/inittab
! 118: and adding the following line:
! 119: </p>
! 120:
! 121: <pre class="programlisting">st:23:respawn:/sbin/getty systty co_9600 # serial console - HF</pre>
! 122:
! 123: <p>
! 124: Don't forget to re-read the inittab then with "<code class="code">init q</code>".
! 125: </p>
! 126: <p>
! 127:
! 128: The serial port pinouts are the same as SPARC systems' serial ports, so
! 129: Macintosh serial cables work great for serial-console cables, as long as
! 130: you are willing to do it without hardware handshaking lines. See the <a class="ulink" href="../../docs/Hardware/Misc/serial.html" target="_top">NetBSD Serial Port
! 131: Primer</a> for more information.
! 132: </p>
! 133:
! 134: <h4 class="title">
! 135: <a name="resetting-eaddr"></a>How do I reset $eaddr on IP22 etc.? (<a href="#general">top</a>)
! 136: </h4>
! 137: <p>
! 138: Here's a method to set the ethernet address that works on at
! 139: least the Indy, and perhaps also other machines with HPC3's.
! 140: </p>
! 141: <p>
! 142:
! 143: All disclaimers apply yadda yadda.
! 144: </p>
! 145: <p>
! 146:
! 147: At the PROM prompt:
! 148: </p>
! 149: <pre class="programlisting">dump -w -x 0xbfbe04e8</pre>
! 150: <p>
! 151:
! 152: Sanity check the output here to see if it matches the address
! 153: given in the 'ec0: bad ethernet address' error message. If not,
! 154: you may not want to overwrite whatever is there instead.
! 155: </p>
! 156:
! 157: <pre class="programlisting">fill -w -v 0xGG 0xbfbe04e8
! 158: fill -w -v 0xHH 0xbfbe04ec
! 159: fill -w -v 0xII 0xbfbe04f0
! 160: fill -w -v 0xJJ 0xbfbe04f4
! 161: fill -w -v 0xKK 0xbfbe04f8
! 162: fill -w -v 0xLL 0xbfbe04fc</pre>
! 163:
! 164: <p>
! 165:
! 166: Where GG:HH:II:JJ:KK:LL is the intended ethernet address. It's a
! 167: very good idea to reuse the address the machine was shipped with.
! 168: Check the back of the machine if you cannot remember it.
! 169: </p>
! 170: <p>
! 171:
! 172: Power down, wait one full minute and then power up. All variables
! 173: will have been reset as with the resetenv command, except $eaddr.
! 174: </p>
! 175:
! 176: <h4 class="title">
! 177: <a name="prom-tftp-client-failing"></a>PROM tftp client failing with default NetBSD tftpd settings (<a href="#general">top</a>)
! 178: </h4>
! 179: <p>
! 180:
! 181: The PROM tftp client on SGI machines can fail with default NetBSD tftpd
! 182: settings. The problem is that your current PROM may not support port
! 183: numbers with the sign bit set. The workaround is to limit the port
! 184: numbers of anonymous connections to 32767. The following tunables
! 185: should fix your problem:
! 186: </p>
! 187: <pre class="programlisting"># sysctl -w net.inet.ip.anonportmin=20000
! 188: # sysctl -w net.inet.ip.anonportmax=32767</pre>
! 189:
! 190: <h4 class="title">
! 191: <a name="prom-issues"></a>Other PROM issues you might encounter (<a href="#general">top</a>)
! 192: </h4>
! 193: <p>
! 194:
! 195: There are a few gotchas depending on your PROM version and the
! 196: OS (SASH) version installed:
! 197: </p>
! 198:
! 199: <div class="orderedlist"><ol class="orderedlist" type="1">
! 200: <li class="listitem"> Old versions of SASH have an issue with incorrectly reporting
! 201: the memory map. If the kernel panics with a UVM related message
! 202: on boot (even before the copyright message), try booting the
! 203: kernel directly from the PROM rather than via sash (An I2 also
! 204: had this problem before upgrading to IRIX 6.x -- it was running
! 205: 5.3 before).</li>
! 206: <li class="listitem"> Another old PROM issue -- old PROMs don't understand ELF, so
! 207: you may need an ECOFF kernel. A workaround for this is to use
! 208: sash, which seems to understand ELF even in IRIX 5.x, but see
! 209: problem #1.</li>
! 210: </ol></div>
! 211:
! 212:
! 213: <h4 class="title">
! 214: <a name="sgivol"></a>Updating the bootloader (using sgivol) (<a href="#general">top</a>)
! 215: </h4>
! 216: <p>
! 217: When installing NetBSD using sysinst, it will leave space at the start of the
! 218: disk for the partition that will be used by the PROM to load the bootloader,
! 219: etc. This partition is called the Volume Header.
! 220: This needs to be a minimum of 3135 blocks (see SGI_BOOT_BLOCK_SIZE_VOLHDR in
! 221: <code class="filename">/usr/include/sys/bootblock.h</code>). An example disklabel is
! 222: shown below. Partition <code class="code">i</code> will be used for the Volume Header as
! 223: is SGI convention (partition 8).
! 224: </p>
! 225: <pre class="programlisting">
! 226: sgimips# disklabel sd0
! 227: # /dev/rsd0c:
! 228: type: SCSI
! 229: disk: mydisk
! 230: label: fictitious
! 231: flags:
! 232: bytes/sector: 512
! 233: sectors/track: 135
! 234: tracks/cylinder: 8
! 235: sectors/cylinder: 1080
! 236: cylinders: 4078
! 237: total sectors: 4404240
! 238: rpm: 7200
! 239: interleave: 0
! 240: trackskew: 0
! 241: cylinderskew: 0
! 242: headswitch: 0 # microseconds
! 243: track-to-track seek: 0 # microseconds
! 244: drivedata: 0
! 245:
! 246: 16 partitions:
! 247: # size offset fstype [fsize bsize cpg/sgs]
! 248: a: 3377306 3183 4.2BSD 1024 8192 45640 # (Cyl. 2*- 3130*)
! 249: b: 1024000 3380489 swap # (Cyl. 3130*- 4078+)
! 250: c: 4404489 0 unknown # (Cyl. 0 - 4078+)
! 251: i: 3183 0 unknown # (Cyl. 0 - 2*)
! 252: </pre>
! 253: <p>
! 254: After installing NetBSD, you can use the sgivol utility (located in
! 255: /usr/mdec) to manipulate this partition. If not set up already, it must be
! 256: initialised (N.B. sysinst will set this up correctly):
! 257: </p>
! 258: <pre class="programlisting">sgivol -i sd0</pre>
! 259: <p>
! 260: To upgrade the bootloader (or change it if the disk is moved to a different
! 261: model of machine), first delete the existing file:
! 262: </p>
! 263: <pre class="programlisting">sgivol -d boot sd0</pre>
! 264: <p>
! 265: Next, copy the appropriate bootloader as filename 'boot' into the
! 266: volume header:
! 267: </p>
! 268: <pre class="programlisting">sgivol -w boot /usr/mdec/ip2xboot sd0</pre>
! 269: <p>
! 270: You can have multiple bootloaders present (with different
! 271: names). This is very useful when booting different versions of NetBSD
! 272: (e.g., to upgrade from NetBSD 3 to 5.0 using a new INSTALL kernel) as
! 273: changes in bootinfo mean that NetBSD 4.0 and earlier kernels will not work
! 274: with a newer bootloader.
! 275: </p>
! 276: <p>
! 277: The contents of the volume header can be viewed by using the following
! 278: command:
! 279: </p>
! 280: <pre class="programlisting">sgivol sd0</pre>
! 281: <p>
! 282: Example output is shown below:
! 283: </p>
! 284: <pre class="programlisting">disklabel shows 4404240 sectors
! 285: checksum: 00000000
! 286: root part: 0
! 287: swap part: 1
! 288: bootfile: /netbsd
! 289:
! 290: Volume header files:
! 291: sgilabel offset 2 blocks, length 512 bytes (1 blocks)
! 292: ide offset 3 blocks, length 322048 bytes (629 blocks)
! 293: sash offset 632 blocks, length 322048 bytes (629 blocks)
! 294: boot offset 1261 blocks, length 53296 bytes (105 blocks)
! 295:
! 296: SGI partitions:
! 297: 0:a blocks 3377306 first 3183 type 4 (BSD4.2)
! 298: 1:b blocks 1024000 first 3380489 type 3 (Raw)
! 299: 8:i blocks 3199 first 0 type 0 (Volume Header)
! 300: 10:k blocks 4404489 first 0 type 6 (Volume)
! 301: </pre>
! 302: <p>
! 303: See the <a class="ulink" href="http://man.NetBSD.org/cgi-bin/man-cgi?boot+8.sgimips+NetBSD-current" target="_top">boot(8)</a>
! 304: and <a class="ulink" href="http://man.NetBSD.org/cgi-bin/man-cgi?sgivol+8.sgimips+NetBSD-current" target="_top">sgivol(8)</a>
! 305: man pages for more information.
! 306: </p>
! 307:
! 308: """
! 309:
! 310: ]]
! 311: [[!tag tier2port]]
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb