[BACK]Return to hppa.html CVS log [TXT][DIR] Up to [local] / www

Annotation of www/hppa.html, Revision 1.53

1.3       fn          1: <!DOCTYPE HTML PUBLIC  "-//IETF//DTD HTML Strict//EN">
                      2: <html>
1.1       deraadt     3: <head>
                      4: <title>OpenBSD/hppa</title>
1.3       fn          5: <link rev=made href=mailto:www@openbsd.org>
                      6: <meta name="resource-type" content="document">
                      7: <meta name="description" content="the OpenBSD/hppa page">
                      8: <meta name="keywords" content="openbsd,hppa">
                      9: <meta name="distribution" content="global">
1.50      horacio    10: <meta name="copyright" content="This document copyright 1996-2001 by OpenBSD.">
1.3       fn         11: </head>
                     12:
1.8       johns      13: <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#23238E">
1.3       fn         14:
1.30      deraadt    15: <h2>OpenBSD/hppa</h2>
1.1       deraadt    16:
1.3       fn         17: <hr>
1.30      deraadt    18:
1.20      mickey     19: This port is aimed to support the following HP 9000 models:
1.32      mickey     20: 705, 710, <b>712</b>, <b>715</b>, 720, <b>725</b>,
1.35      mickey     21: 730, <b>735</b>, 750, <b>755</b>, J200, J210, J210XC, C100, C110,
                     22: B132L, B160L, B180L, C132L, C160L, C180L
1.20      mickey     23: (bold means "known to be working").
1.44      jufi       24: Other similar to those hardware configurations may be supported
1.42      ericj      25: as long as if they based on:
1.18      mickey     26: <ul>
1.35      mickey     27: <li>HP PA-RISC 7000, 7100, 7150, 7100LC, 7200, 7300LC processors;
1.23      mickey     28: <li>Viper (others ?) memory controller;
1.28      todd       29: <li>LASI, ASP, WAX bus/IO controller;
1.20      mickey     30: <li>and EISA bus controller;
1.23      mickey     31: <li>NCR53C700, NCR53C710, NCR53C720 SCSI I/O Processor;
                     32: <li>Venom, CRX-8, CRX-24, HCRX-8, HCRX-24 video controllers;
                     33: <li>HIL or PS/2 keyboard and mouse;
1.44      jufi       34: <li>EISA devices will work, but they won't be useful for booting,
1.28      todd       35:        but some of those manufactured by HP for 700/800 systems.
1.18      mickey     36: </ul>
1.42      ericj      37: Systems which may work (eventually):
1.21      mickey     38: <ul>
1.28      todd       39: <li>pa8k-based systems (in 32-bit mode);
1.24      mickey     40: <li>HP 9000 834, 835, 836, 844, 845, 846;
1.33      mickey     41: <li>HP 9000 E23, E25, E35, E45, E55;
1.24      mickey     42: <li>HP 3000 908, 918, 928, 938;
1.28      todd       43: <li>Hitachi VQ200, VQ210, and some other non-HP workstations;
1.24      mickey     44: <li>Precision Book from RDI Computer Corporation (well, unlikely)
                     45: <li>HP VME and VXI single board systems (requires VME at least)
1.21      mickey     46: </ul>
1.20      mickey     47: <br>
                     48: Hardware is needed for this project,
1.28      todd       49: see <a href="want.html">"Wanted List"</a>. (contact <a href=mailto:mickey@openbsd.org>mickey</a>).
1.20      mickey     50:
                     51: <h3><strong>Status:</strong></h3>
1.47      mickey     52: Have system autoconfig using <a href=http://hppa.lucifier.net/#boot_lif>bootable images</a>, heading for single-user.
1.16      mickey     53:
                     54: <h3><strong>History:</strong></h3>
1.38      mickey     55: This project was started in one of those days when the only
                     56: open source operating systems for HP PA-RISC computers were
                     57: <a href=http://www.cs.utah.edu/projects/flux/lites/html>Lites</a> and
                     58: <a href=http://www.osf.org/mall/os/pa-mklinux>MkLinux</a>.
                     59: These two sources were a major supply of information and
                     60: code for initial development of the OpenBSD/hppa port.
                     61: The <a href=http://www.cs.utah.edu/~mike/hpbsd/hpbsd.html>HPBSD</a>
                     62: is encumbered by HP proprietary code and USL licensing and is
                     63: not publicly available.
                     64: One of the major direct benefits from previous porting efforts
                     65: (besides the code, of course ;) is
                     66: support for HP PA-RISC in GCC and binutils, which allowed quick
                     67: build of cross-tools environment for development.
                     68: <p>
                     69: Later on HP decided to sponsor a
                     70: <a href=http://thepuffingroup.com/parisc/>Linux</a> port to PA-RISC
1.46      pvalchev   71: machines which actually resulted in some proprietary documentation
1.38      mickey     72: release, even they target different class of 9000 machines.
                     73: <p>
                     74: So far here is a history of OpenBSD/hppa port
                     75: <small>(it has no dates, but use
                     76: <a href=anoncvs.html>cvs</a> to see what happened when)</small>:
1.16      mickey     77: <ul>
1.41      mickey     78: <li>sti driver rewritten, with released specifications
1.37      mickey     79: <li>kernel symbol table loading by /boot (symbolic debugging !)
1.36      mickey     80: <li>init(8) execs fine, subsequent single-user shell <u>exits</u>,
                     81:        meaning probably it found some problem initializing itself
                     82: <li>root on nfs, swap on nfs
1.32      mickey     83: <li>i82596-based ethernet (if_ie), in uncached memory mode
1.31      mickey     84: <li>Most of the MD kernel code written
1.32      mickey     85: <li>DDB support except watchpoints and single-stepping
1.31      mickey     86: <li>disk boot working
1.33      mickey     87: <li>Stinger (*CRX-*) graphics boards driver
1.22      mickey     88: <li>LASI, ASP, WAX and EISA bus adapters
1.17      mickey     89: <li>com, lpt, fdc drivers (no fd yet ;)
1.18      mickey     90: <li>PDC driver
1.16      mickey     91: <li>kernel bootstrap working
                     92: <li>network boot working through the LIF image
                     93: <li>cross-tools compiling/working
                     94: </ul>
                     95:
1.38      mickey     96: <h4>Documentation</h4>
                     97: <small>(most of which was released by HP for the
                     98: <a href=http://thepuffingroup.com/parisc/>Linux/parisc</a> project)</small>:
                     99: <ol type=1>
                    100: <li><a href=http://devresource.hp.com/devresource/Docs/Refs/PA1_1/>HP PA-RISC CPUs</a>
                    101:        <ol type=a>
                    102: <li><a href=http://puffin.external.hp.com/docs/PCXL_ers.ps>PA7100LC CPU ERS</a>
                    103: <li><a href=http://puffin.external.hp.com/docs/pcxl2_ers.ps>PA7300LC CPU ERS</a>
                    104:        </ol>
                    105: <li><b>Processor Dependent Code/I/O Dependent Code Interface</b><br> <small>(selected chapters from "PA-RISC I/O Architecture Specification")</small>
                    106:        <ol type=a>
                    107: <li><a href=http://puffin.external.hp.com/docs/pdc32.pdf>PDC 1.1</a>
                    108: <li><a href=http://puffin.external.hp.com/docs/iodc.pdf>IODC 1.1</a>
                    109: <li><a href=http://puffin.external.hp.com/docs/ver_nums.pdf>Version and Identification Number Allocation</a>
                    110: <li><a href=http://puffin.external.hp.com/docs/data_formats.pdf>Memory Data Formats 2.0</a>
                    111: <li><a href=http://puffin.external.hp.com/docs/pdc.pdf>PDC Procedures 2.0</a>
                    112: <li><a href=http://puffin.external.hp.com/docs/pdce.pdf>PDC Entry Points 2.0</a>
                    113: <li><a href=http://puffin.external.hp.com/docs/os_interface.pdf>OS Interface 2.0</a>
                    114:        </ol>
1.39      miod      115: <li><b>Bus controllers/bridges/adaptors</b>
1.38      mickey    116:        <ol type=a>
                    117: <li><a href=http://puffin.external.hp.com/docs/lasi_ers.ps>LASI Core Bus Adapter (including lan, scsi, serial, lpt controllers)</a>
                    118: <li><a href=http://puffin.external.hp.com/docs/dino_ers.ps>Dino PCI bridge</a>,
                    119: and <a href=http://puffin.external.hp.com/docs/Dino_3_1_Errata.html>Errata</a>
                    120: <li><a href=http://puffin.external.hp.com/docs/elroy_ers.ps>Elroy ERS (Edited for Open Source)</a>
                    121: <li>Astro <a href=http://puffin.external.hp.com/docs/astro_intro.ps>Overview</a>, <a href=http://puffin.external.hp.com/docs/astro_errors.ps>Error handling</a>,<a href=http://puffin.external.hp.com/docs/astro_ioc.ps>R2I Operations</a>, <a href=http://puffin.external.hp.com/docs/astro_regmap.ps>Registers Map</a>, <a href=http://puffin.external.hp.com/docs/astro_runway.ps>Runway Interface</a>, <a href=http://puffin.external.hp.com/docs/astro_sysmap.ps>System Mamory Map</a>
                    122:        </ol>
1.40      mickey    123: <li><a href=http://puffin.external.hp.com/docs/sti.pdf>Stinger graphics</a>
                    124: <li><a href=http://www.lsilogic.com/techlib/techdocs/io_standard/770_2_0.pdf>NCR 53C700/710/720 SCSI I/O Processors</a>
                    125:     <small>(the doc is actually for 770, which is claimed as compatible)</small>
                    126: <li>Intel <a href=http://developer.intel.com/design/network/datashts/290219.htm>i82596DX/SX</a> and <a href=http://developer.intel.com/design/network/datashts/290218.htm>i82596CA</a> Ethernet Controllers
1.38      mickey    127: </ol>
                    128:
1.15      mickey    129: <h4>Build cross-tools:</h4>
1.18      mickey    130: <p>
1.45      miod      131: Currently, the in-tree binutils can't be used to generate cross-tools.
                    132: You should use a 2.7 source tree to build them, 2.8 and later will not
                    133: work.
                    134: <p>
1.15      mickey    135: <pre>
                    136: cd /usr/src
                    137: sudo make TARGET=hppa cross-tools
1.18      mickey    138: </pre>
                    139: </p>
                    140: <p>
                    141: cross-tools build process may fail in the libc stage, consider that's
                    142: all right, since libc support is not finished yet.
                    143: </p>
1.43      jufi      144: <a name="boot_lif"></a>
1.15      mickey    145: <h4>Build boot.lif file using cross-tools:</h4>
1.18      mickey    146: <p>
                    147: <pre>
1.15      mickey    148: cd /sys/arch/hppa/stand
                    149: make obj
1.26      todd      150: set cross=(/usr/cross/hppa/usr/bin)
1.32      mickey    151: make MACHINE=hppa MACHINE_ARCH=hppa \
1.26      todd      152:        "AS=$cross/as" "CC=$cross/cc" \
                    153:        "CPP=$cross/cpp" "LD=$cross/ld" \
                    154:        "AR=$cross/ar" "STRIP=$cross/strip" \
                    155:        "LORDER=$cross/lorder" "NM=$cross/nm" \
                    156:        "RANLIB=$cross/ranlib" "SIZE=$cross/size"
1.15      mickey    157: </pre>
1.18      mickey    158: </p>
                    159: <p>
1.47      mickey    160: One will have a <a href=http://hppa.lucifier.net/#boot_lif><em>boot.lif</em></a>
1.28      todd      161: file to boot then in the obj-directory.
1.18      mickey    162: That image may include <em>diskless</em> kernel image if one was available
1.32      mickey    163: in the <em>sys/arch/hppa/compile/SHEPHERD_PIE/bsd</em>.
1.18      mickey    164: <br>
1.44      jufi      165: Kernel cross-build process is similar to the one for boot, consult
1.28      todd      166: <a href=http://www.openbsd.org/cgi-bin/man.cgi?query=config&apropos=0&sektion=0
                    167: &manpath=OpenBSD+Current&format=html>config(8)</a>
                    168: and
                    169: <a href=http://www.openbsd.org/cgi-bin/man.cgi?query=options&apropos=0&sektion=0&manpath=OpenBSD+Current&format=html>options(8)</a>
                    170: for kernel build options and configuration.
1.15      mickey    171: </p>
                    172: <h4>Recent development:</h4>
1.14      mickey    173: <pre>
1.34      mickey    174: BOOT_ADMIN&gt; boot lan isl
1.14      mickey    175:
                    176: Booting
                    177:
                    178:
                    179:
                    180:
                    181:
1.51      mickey    182: &gt;&gt; OpenBSD/hppa BOOT 0.6
1.34      mickey    183: boot&gt; boot bsd
1.51      mickey    184: booting lf0a:/bsd: fstat1695744+65536+225280 [168316+57624]=0x22e298 start=0x12
                    185: 000
                    186: [ bsd ELF symbol table not valid ]
                    187: [ using 225940 bytes of bsd a.out symbol table ]
1.14      mickey    188: Copyright (c) 1982, 1986, 1989, 1991, 1993
                    189: The Regents of the University of California.  All rights reserved.
1.51      mickey    190: Copyright (c) 1995-2001 OpenBSD. All right Reserved.  http://www.OpenBSD.org
1.14      mickey    191:
1.51      mickey    192: OpenBSD 2.9-current (SHEPHERD_PIE) #267: Sun Jun 10 02:22:29 EDT 2001
                    193:     mickey@lucifier.net:/sys/arch/hppa/compile/SHEPHERD_PIE
                    194: HP9000/712/100 (King Gecko) PA-RISC 1.1
                    195: real mem = 201326592 (73728 reserved for PROM, 134217720 used by OpenBSD)
                    196: avail mem = 167735296
                    197: using 43008 buffers containing 20111360 bytes of memory
1.28      todd      198: mainbus0 (root) [flex fff80000]
1.18      mickey    199: pdc0 at mainbus0
1.51      mickey    200: mem0 at mainbus0 hpa fffbf000: viper rev 0, ctrl 40400102&lt;eisa_prf&gt; &gt;&gt; 4040010b
                    201: cpu0 at mainbus0 hpa fffbe000 irq 31: PCXL rev 6, lev 1, cat A, 100 MHz clock
1.32      mickey    202: cpu0: shadows, 128K/128K D/I cache, 64 shared TLB, 8 shared BTLB
1.51      mickey    203: lasi0 at mainbus0 hpa f0100000 irq 28: rev 3.0
1.28      todd      204: gsc0 at lasi0
                    205: "PS/2 port" at gsc0 (type a, sv 84) hpa f0108100 not configured
                    206: "PS/2 port" at gsc0 (type a, sv 84) hpa f0108000 not configured
                    207: "floppy controller" at gsc0 (type a, sv 83) hpa f010a000 not configured
1.51      mickey    208: harmony0 at gsc0 hpa f0104000 irq 13
1.28      todd      209: lpt0 at gsc0 hpa f0102000 irq 7
1.51      mickey    210: com0 at gsc0 hpa f0105000 irq 5
                    211: ie0 at gsc0 hp f0107000 irq 8: LASI/i82596CA v1.0, address 08:00:09:1b:3c:08
1.28      todd      212: "Core SCSI" at gsc0 (type a, sv 82) hpa f0106000 not configured
1.51      mickey    213: sti0 at mainbus0 hpa f8000000: HPA208LC1280 rev 8.04;7
                    214: sti0: 2048x1024 frame buffer, 1280x1024x8 display, offset 0x0
1.31      mickey    215: sti0: 8x16 font type 1, 16 bpc, charset 0-255
1.51      mickey    216: wsdisplay0 at sti0
1.14      mickey    217:
1.18      mickey    218: </pre>
1.3       fn        219: </p>
1.18      mickey    220: <small>info was typed from screen, sorry for typos</small>
1.3       fn        221: <hr>
1.47      mickey    222: In order to use the <a href=http://hppa.lucifier.net/#boot_lif>boot.lif</a> files
1.28      todd      223: you must prepare your server and instruct your machine to boot off the network:
1.45      miod      224: <ol>
                    225:   <li>Server setup</li><br>
                    226:     <ul>
1.48      mickey    227:     <li> For older machines (705, 7[1235]0, old 715)
                    228:        <a href=http://www.openbsd.org/cgi-bin/man.cgi?query=rbootd&apropos=0&sektion=0&manpath=OpenBSD+Current&format=html>rbootd</a> must be setup and started.<br>
1.45      miod      229:       <ul>
                    230:       <li><b>/etc/<a href=http://www.openbsd.org/cgi-bin/man.cgi?query=rbootd&apropos=0&sektion=0&manpath=OpenBSD+Current&format=html>rbootd</a>.conf</b>
                    231: contains a single line per machine you entered to boot from the server.
                    232: Each line contains the ethernet address of the client hppa machine, and
                    233: the filename to be loaded from the tftp server.  For example:
1.28      todd      234:        <pre>
                    235:        8:0:9:70:c4:11    <a href=#boot_lif>boot.lif</a>    # 9000/720
                    236:        8:0:9:19:fb:a0    <a href=#boot_lif>boot.lif</a>    # 9000/725
                    237:        </pre>
1.45      miod      238:       </li>
                    239:       </ul>
                    240:     </li>
1.48      mickey    241:     <li>Recent machines (712, new 715, 725) won't look for rbootd at all, but require a
1.51      mickey    242: <b>bootp</b> setup.<br>
1.45      miod      243:       <ul>
                    244:       <li><b>/etc/<a href=http://www.openbsd.org/cgi-bin/man.cgi?query=bootptab&apropos=0&sektion=5&manpath=OpenBSD+Current&format=html>bootptab</a></b> contains an information block for each machine.  For example:
                    245:        <pre>
                    246:        # 9000/715
1.49      miod      247:        boron:\
1.45      miod      248:                ha=0800095f5a6e:\
                    249:                bf=boot.lif:\
                    250:                hd=:\
                    251:                ht=ethernet:\
1.52      miod      252:                ip=10.0.1.143:\
1.53    ! mickey    253:                rp=/usr/local/exports/boron/root:\
1.45      miod      254:                sm=255.255.255.0:\
                    255:                td=/tftpboot:
                    256:        </pre>
                    257:       </li>
1.48      mickey    258:        <li>
                    259:        Create directory /tftpboot and put the <a href=#boot_lif>boot.lif</a> in it.<br>
                    260:        </li>
                    261:        <li>
                    262:        Write an entry for your hppa in the <b>/etc/ethers</b> file:<br>
                    263:        <pre>
1.49      miod      264:        08:00:09:5f:5a:6e       boron
1.48      mickey    265:        </pre>
                    266:        </li>
                    267:        <li>
1.49      miod      268:        Write an entry for 'boron' in the <b>/etc/hosts</b> file:<br>
1.48      mickey    269:        <pre>
1.52      miod      270:        10.0.1.143      boron
1.48      mickey    271:        </pre>
                    272:        </li>
                    273:        <li>
1.49      miod      274:        Create directory /usr/local/exports/boron/root and put <a href=http://hppa.lucifier.net/root/dev/MAKEDEV>/dev/MAKEDEV</a>,
1.48      mickey    275:         <a href=http://hppa.lucifier.net/root/sbin/init>/sbin/init</a>, <a href=http://hppa.lucifier.net/root/bin/ksh>/bin/ksh</a>
                    276:         in their relative locations.
                    277:        </li>
                    278:        <li>
                    279:        Write an entry in <b>/etc/exports</b> so the root directory gets exported to the client:
                    280:        <pre>
1.49      miod      281:        /usr/local/exports/boron/root boron
1.48      mickey    282:        </pre>
                    283:        </li>
                    284:        <li>
                    285:        Remember you will have to enable <a href=http://www.openbsd.org/cgi-bin/man.cgi?query=bootpd&apropos=0&sektion=8&manpath=OpenBSD+Current&format=html>bootpd</a>
1.51      mickey    286:         and <a href=http://www.openbsd.org/cgi-bin/man.cgi?query=tftpd&apropos=0&sektion=8&manpath=OpenBSD+Current&format=html>tftpd</a>
                    287:                in /etc/inetd.conf, and restart <a href=http://www.openbsd.org/cgi-bin/man.cgi?query=inetd&apropos=0&sektion=8&manpath=OpenBSD+Current&format=html>inetd</a>.
                    288:
                    289:        </li>
1.48      mickey    290:        <li>
                    291:        Also remember to enable <a href=http://www.openbsd.org/cgi-bin/man.cgi?query=nfsd&apropos=0&sektion=8&manpath=OpenBSD+Current&format=html>nfs_server</a>
1.51      mickey    292:        , <a href=http://www.openbsd.org/cgi-bin/man.cgi?query=rarpd&apropos=0&sektion=8&manpath=OpenBSD+Current&format=html>rarpd</a>
                    293:
1.48      mickey    294:        and <a href=http://www.openbsd.org/cgi-bin/man.cgi?query=portmap&apropos=0&sektion=8&manpath=OpenBSD+Current&format=html>portmap</a>
                    295:        in <a
                    296: href=http://www.openbsd.org/cgi-bin/man.cgi?query=rc.conf&apropos=0&sektion=8&manpath=OpenBSD+Current&format=html>/etc/rc.conf</a>.
                    297:        </li>
                    298:        </ul>
1.45      miod      299:     </li>
                    300:     <li>For further reading on server setup for network booting in general, see also: <a href=http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&apropos=0&sektion=0&manpath=OpenBSD+Current&format=html>diskless(8)</a>.</li>
                    301:     </ul>
                    302:   <li>Client Network Boot</li><br>
                    303:   <ul>
                    304:     <li>BOOT_ADMIN<br>
1.28      todd      305:        In order to get to the BOOT_ADMIN prompt, you must hit <em>\<esc\></em> as the
                    306:        machine is coming up.  Once it probes bootable devices, type 'a' for
                    307:        the 'BOOT_ADMIN' prompt.
                    308:     </li>
                    309:     <li>network boot command <br>
                    310:        Once at the 'BOOT_ADMIN' prompt, type:
                    311: <pre>
                    312:        BOOT_ADMIN> boot lan isl
                    313: </pre>
                    314:        ... and you are on your way to booting boot.lif!
                    315:     </li>
1.45      miod      316:   </ul>
1.28      todd      317: </ol>
                    318: <hr>
1.9       pauls     319: <a href=plat.html><img height=24 width=24 src=back.gif border=0 alt=OpenBSD></a>
1.1       deraadt   320: <a href=mailto:www@openbsd.org>www@openbsd.org</a>
1.3       fn        321: <br>
1.53    ! mickey    322: <small>$OpenBSD: hppa.html,v 1.52 2001/09/10 13:20:45 miod Exp $</small>
1.3       fn        323:
                    324: </body>
                    325: </html>