File:  [NetBSD Developer Wiki] / wikisrc / ports / sgimips.mdwn
Revision 1.1: download - view: text, annotated - select for diffs
Sat Dec 22 04:03:19 2012 UTC (8 years, 10 months ago) by mspo
Branches: MAIN
CVS tags: HEAD
add a few more port pages, also testing html2markdown for vax-models.mdwn

    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 &lt;bps&gt;</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