Annotation of www/hppa.html, Revision 1.72
1.66 jufi 1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1.3 fn 2: <html>
1.1 deraadt 3: <head>
4: <title>OpenBSD/hppa</title>
1.66 jufi 5: <link rev=made href="mailto:www@openbsd.org">
1.3 fn 6: <meta name="resource-type" content="document">
1.66 jufi 7: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
1.3 fn 8: <meta name="description" content="the OpenBSD/hppa page">
9: <meta name="keywords" content="openbsd,hppa">
10: <meta name="distribution" content="global">
1.55 horacio 11: <meta name="copyright" content="This document copyright 1996-2002 by OpenBSD.">
1.3 fn 12: </head>
13:
1.8 johns 14: <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#23238E">
1.65 mickey 15: <a href="index.html"><img alt="[OpenBSD]" height="30" width="141" src="images/smalltitle.gif" border="0"></a>
1.3 fn 16:
1.66 jufi 17: <h2><font color="#e00000">hppa</font></h2>
18: <hr>
1.30 deraadt 19:
1.66 jufi 20: <h3><font color="#0000e0"><strong>Status and History:</strong></font></h3>
1.64 mickey 21: Systems boot to multi-user and full snapshots are made periodically.
22: There are several projects being under development to support
23: SCSI controllers and input devices,
1.69 mickey 24: to solve certain stability issues.
1.64 mickey 25: <p>
1.67 deraadt 26: This project was started in those days when the only
1.38 mickey 27: open source operating systems for HP PA-RISC computers were
1.66 jufi 28: <a href="http://www.cs.utah.edu/projects/flux/lites/html">Lites</a> and
1.68 jufi 29: <a href="http://www.mklinux.org">MkLinux</a>.
1.38 mickey 30: These two sources were a major supply of information and
31: code for initial development of the OpenBSD/hppa port.
1.67 deraadt 32: <a href="http://www.cs.utah.edu/~mike/hpbsd/hpbsd.html">HPBSD</a>
1.38 mickey 33: is encumbered by HP proprietary code and USL licensing and is
34: not publicly available.
35: One of the major direct benefits from previous porting efforts
36: (besides the code, of course ;) is
37: support for HP PA-RISC in GCC and binutils, which allowed quick
1.67 deraadt 38: building of a cross-tools environment for development.
1.38 mickey 39: <p>
40: Later on HP decided to sponsor a
1.66 jufi 41: <a href="http://www.parisc-linux.org/">Linux</a> port to PA-RISC
1.46 pvalchev 42: machines which actually resulted in some proprietary documentation
1.67 deraadt 43: release, even though they target a different class of 9000 machines.
1.38 mickey 44: <p>
1.64 mickey 45:
1.66 jufi 46: <h3><font color="#0000e0"><strong>Supported Hardware:</strong></font></h3>
1.64 mickey 47:
1.16 mickey 48: <ul>
1.66 jufi 49: <li>CPUs (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=intro&sektion=4&arch=hppa">intro</a> and (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=cpu&sektion=4&arch=hppa">cpu</a>)):
1.64 mickey 50: <ul>
51: <li>PA7000-based: 705, 710, 720, 730, 750 (currently under development)
52: <li>PA7100-based: 715/33, 715/50, 715/75, 725/50, 725/75, 735/100, 755/100
53: <li>PA7100LC-based: 712, 715/64, 715/80, 715/100, 715/100XC, 725/64, 725/100
54: <li>PA7150-based: 735/125, 755/125
1.71 mickey 55: <li>PA7200-based: J200, J210, J210XC, C100, C110
1.64 mickey 56: </ul>
57: <li>bus/IO controllers:
58: <ul>
1.72 ! mickey 59: <li>Phantom PseudoBC GSC+ Port (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=phantomas&sektion=4&arch=hppa">phantomas</a>)
1.66 jufi 60: <li> GSC (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=gsc&sektion=4&arch=hppa">gsc</a>): LASI (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=lasi&sektion=4&arch=hppa">lasi</a>), ASP (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=asp&sektion=4&arch=hppa">asp</a>)
1.64 mickey 61: </ul>
62: <li>SCSI controllers (currently under development):
63: <ul>
1.66 jufi 64: <li>NCR53C710 SCSI I/O Processors (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=osiop&sektion=4">osiop</a>)
65: <li>NCR53C720 SCSI I/O Processors (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=siop&sektion=4">siop</a>)
1.64 mickey 66: </ul>
1.66 jufi 67: <li>SGC/GSC graphics (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sti&sektion=4">sti</a>):
1.64 mickey 68: <ul>
69: <li>Artist (as found on 712)
70: <li>CRX-8, CRX-24, HCRX-8, HCRX-24
71: </ul>
72: <li>RS-232 devices:
73: <ul>
1.66 jufi 74: <li>On-board ns16550 or similar (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=com&sektion=4">com</a>)
1.64 mickey 75: </ul>
76: <li>Input devices (currently under development):
77: <ul>
78: <li>PS/2 keyboard and mouse
79: <li>HIL keyboard and mouse
80: </ul>
81: </ul>
82: Systems which may work (eventually):
83: <ul>
84: <li>PA2.0 systems (in 32-bit mode);
85: <li>HP 9000 834, 835, 836, 844, 845, 846;
86: <li>HP 9000 E23, E25, E35, E45, E55;
87: <li>HP 3000 908, 918, 928, 938;
88: <li>Hitachi VQ200, VQ210, and some other non-HP workstations;
89: <li>Precision Book from RDI Computer Corporation (well, unlikely)
90: <li>HP VME and VXI single board systems (requires VME at least)
1.16 mickey 91: </ul>
1.64 mickey 92: <br>
93: Hardware is needed for this project,
94: see <a href="want.html">"Wanted List"</a>
1.66 jufi 95: (contact <a href="mailto:mickey@openbsd.org">mickey</a>).
1.64 mickey 96:
1.66 jufi 97: <h3><font color="#0000e0"><strong>Documentation</strong></font></h3>
1.16 mickey 98:
1.38 mickey 99: <small>(most of which was released by HP for the
1.66 jufi 100: <a href="http://www.parisc-linux.org/">Linux/parisc</a> project)</small>:
1.38 mickey 101: <ol type=1>
1.58 mickey 102: <li>HP PA-RISC CPUs
1.38 mickey 103: <ol type=a>
1.66 jufi 104: <li><a href="http://ftp.parisc-linux.org/docs/PCXL_ers.ps">PA7100LC CPU ERS</a>
105: <li><a href="http://ftp.parisc-linux.org/docs/pcxl2_ers.ps">PA7300LC CPU ERS</a>
1.38 mickey 106: </ol>
107: <li><b>Processor Dependent Code/I/O Dependent Code Interface</b><br> <small>(selected chapters from "PA-RISC I/O Architecture Specification")</small>
108: <ol type=a>
1.66 jufi 109: <li><a href="http://ftp.parisc-linux.org/docs/pdc32.pdf">PDC 1.1</a>
110: <li><a href="http://ftp.parisc-linux.org/docs/iodc.pdf">IODC 1.1</a>
111: <li><a href="http://ftp.parisc-linux.org/docs/ver_nums.pdf">Version and Identification Number Allocation</a>
112: <li><a href="http://ftp.parisc-linux.org/docs/data_formats.pdf">Memory Data Formats 2.0</a>
113: <li><a href="http://ftp.parisc-linux.org/docs/pdc.pdf">PDC Procedures 2.0</a>
114: <li><a href="http://ftp.parisc-linux.org/docs/pdce.pdf">PDC Entry Points 2.0</a>
115: <li><a href="http://ftp.parisc-linux.org/docs/os_interface.pdf">OS Interface 2.0</a>
1.38 mickey 116: </ol>
1.39 miod 117: <li><b>Bus controllers/bridges/adaptors</b>
1.38 mickey 118: <ol type=a>
1.66 jufi 119: <li><a href="http://ftp.parisc-linux.org/docs/hardball_ers.pdf">ASP</a>
120: <li><a href="http://ftp.parisc-linux.org/docs/lasi_ers.ps">LASI Core Bus Adapter (including lan, scsi, serial, lpt controllers)</a>
121: <li><a href="http://ftp.parisc-linux.org/docs/dino_ers.ps">Dino PCI bridge</a>,
122: and <a href="http://ftp.parisc-linux.org/docs/Dino_3_1_Errata.html">Errata</a>
123: <li><a href="http://ftp.parisc-linux.org/docs/elroy_ers.ps">Elroy ERS (Edited for Open Source)</a>
124: <li>Astro <a href="http://ftp.parisc-linux.org/docs/astro_intro.ps">Overview</a>, <a href="http://ftp.parisc-linux.org/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>
1.38 mickey 125: </ol>
1.66 jufi 126: <li><a href="http://ftp.parisc-linux.org/docs/sti.pdf">Stinger graphics</a>
127: <li><a href="http://www.lsilogic.com/techlib/techdocs/old_storage/770_2_0.pdf">NCR 53C700/710/720 SCSI I/O Processors</a>
1.40 mickey 128: <small>(the doc is actually for 770, which is claimed as compatible)</small>
1.66 jufi 129: <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 130: </ol>
1.66 jufi 131: Or see more information at <a href="http://www.openpa.net/">OpenPA</a>.
1.38 mickey 132:
1.64 mickey 133: <hr>
134:
1.66 jufi 135: <h3><font color="#0000e0"><strong>Building Cross-Tools</strong></font></h3>
1.15 mickey 136: <pre>
137: cd /usr/src
138: sudo make TARGET=hppa cross-tools
1.18 mickey 139: </pre>
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.
1.66 jufi 143:
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.56 mickey 152: "AS=$cross/as" "CC=$cross/cc" "CXX=$cross/c++" \
1.26 todd 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.66 jufi 158:
1.18 mickey 159: <p>
1.66 jufi 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.66 jufi 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>
1.28 todd 168: and
1.66 jufi 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>
1.28 todd 170: for kernel build options and configuration.
1.15 mickey 171: </p>
1.3 fn 172: <hr>
1.66 jufi 173: In order to use the <a href="http://hppa.lucifier.net/#boot_lif">boot.lif</a> files
1.28 todd 174: you must prepare your server and instruct your machine to boot off the network:
1.45 miod 175: <ol>
1.66 jufi 176: <li>Server setup
1.45 miod 177: <ul>
1.48 mickey 178: <li> For older machines (705, 7[1235]0, old 715)
1.66 jufi 179: <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 180: <ul>
1.66 jufi 181: <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>
1.45 miod 182: contains a single line per machine you entered to boot from the server.
183: Each line contains the ethernet address of the client hppa machine, and
184: the filename to be loaded from the tftp server. For example:
1.28 todd 185: <pre>
1.66 jufi 186: 8:0:9:70:c4:11 <a href="#boot_lif">boot.lif</a> # 9000/720
187: 8:0:9:19:fb:a0 <a href="#boot_lif">boot.lif</a> # 9000/725
1.28 todd 188: </pre>
1.45 miod 189: </li>
190: </ul>
191: </li>
1.48 mickey 192: <li>Recent machines (712, new 715, 725) won't look for rbootd at all, but require a
1.51 mickey 193: <b>bootp</b> setup.<br>
1.45 miod 194: <ul>
1.66 jufi 195: <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:
1.45 miod 196: <pre>
197: # 9000/715
1.49 miod 198: boron:\
1.45 miod 199: ha=0800095f5a6e:\
200: bf=boot.lif:\
201: hd=:\
202: ht=ethernet:\
1.52 miod 203: ip=10.0.1.143:\
1.53 mickey 204: rp=/usr/local/exports/boron/root:\
1.45 miod 205: sm=255.255.255.0:\
206: td=/tftpboot:
207: </pre>
208: </li>
1.48 mickey 209: <li>
1.66 jufi 210: Create directory /tftpboot and put the <a href="#boot_lif">boot.lif</a> in it.<br>
1.48 mickey 211: </li>
212: <li>
213: Write an entry for your hppa in the <b>/etc/ethers</b> file:<br>
214: <pre>
1.49 miod 215: 08:00:09:5f:5a:6e boron
1.48 mickey 216: </pre>
217: </li>
218: <li>
1.49 miod 219: Write an entry for 'boron' in the <b>/etc/hosts</b> file:<br>
1.48 mickey 220: <pre>
1.52 miod 221: 10.0.1.143 boron
1.48 mickey 222: </pre>
223: </li>
224: <li>
1.66 jufi 225: Create directory /usr/local/exports/boron/root and put <a href="http://hppa.lucifier.net/root/dev/MAKEDEV">/dev/MAKEDEV</a>,
226: <a href="http://hppa.lucifier.net/root/sbin/init">/sbin/init</a>, <a href="http://hppa.lucifier.net/root/bin/ksh">/bin/ksh</a>
1.48 mickey 227: in their relative locations.
228: </li>
229: <li>
230: Write an entry in <b>/etc/exports</b> so the root directory gets exported to the client:
231: <pre>
1.49 miod 232: /usr/local/exports/boron/root boron
1.48 mickey 233: </pre>
234: </li>
235: <li>
1.66 jufi 236: 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>
237: and <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=tftpd&apropos=0&sektion=8&manpath=OpenBSD+Current&format=html">tftpd</a>
238: 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>.
1.51 mickey 239:
240: </li>
1.48 mickey 241: <li>
1.66 jufi 242: 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>
243: , <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rarpd&apropos=0&sektion=8&manpath=OpenBSD+Current&format=html">rarpd</a>
1.51 mickey 244:
1.66 jufi 245: and <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=portmap&apropos=0&sektion=8&manpath=OpenBSD+Current&format=html">portmap</a>
1.48 mickey 246: in <a
1.66 jufi 247: 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>.
1.48 mickey 248: </li>
249: </ul>
1.45 miod 250: </li>
1.66 jufi 251: <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>
1.45 miod 252: </ul>
1.66 jufi 253: <p>
254: <li>Client Network Boot
1.45 miod 255: <ul>
256: <li>BOOT_ADMIN<br>
1.59 mickey 257: In order to get to the BOOT_ADMIN prompt, you must hit <em><esc></em> as the
1.28 todd 258: machine is coming up. Once it probes bootable devices, type 'a' for
259: the 'BOOT_ADMIN' prompt.
260: </li>
1.66 jufi 261: <li>network boot command
1.28 todd 262: Once at the 'BOOT_ADMIN' prompt, type:
263: <pre>
264: BOOT_ADMIN> boot lan isl
265: </pre>
1.66 jufi 266: </ul>
1.28 todd 267: ... and you are on your way to booting boot.lif!
268: </li>
269: </ol>
270: <hr>
1.66 jufi 271: <a href="plat.html"><img height=24 width=24 src="back.gif" border=0 alt=OpenBSD></a>
272: <a href="mailto:www@openbsd.org">www@openbsd.org</a>
1.3 fn 273: <br>
1.72 ! mickey 274: <small>$OpenBSD: hppa.html,v 1.71 2002/12/12 21:24:17 mickey Exp $</small>
1.3 fn 275:
276: </body>
277: </html>