Annotation of www/hppa.html, Revision 1.88
1.74 miod 1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2: "http://www.w3.org/TR/html4/loose.dtd">
1.3 fn 3: <html>
1.1 deraadt 4: <head>
5: <title>OpenBSD/hppa</title>
1.74 miod 6: <link rev="made" href="mailto:www@openbsd.org">
7: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
1.3 fn 8: <meta name="resource-type" content="document">
9: <meta name="description" content="the OpenBSD/hppa page">
10: <meta name="keywords" content="openbsd,hppa">
11: <meta name="distribution" content="global">
1.77 miod 12: <meta name="copyright" content="This document copyright 1996-2003 by OpenBSD.">
1.3 fn 13: </head>
14:
1.74 miod 15: <body bgcolor="#ffffff" text="#000000" link="#23238e">
1.65 mickey 16: <a href="index.html"><img alt="[OpenBSD]" height="30" width="141" src="images/smalltitle.gif" border="0"></a>
1.74 miod 17: <p>
18: <h2><font color="#e00000">OpenBSD/hppa</font></h2>
19:
20: <hr>
21:
22: <p>
23: OpenBSD/hppa runs on a large set of the 32-bit Hewlett Packard Precision
24: Architecture workstations and servers (HP PA-RISC).
25: </p>
26:
27: <p>
28: A mailing list dedicated to the OpenBSD/hppa port is available at
29: <u><font color="#23238e">hppa@openbsd.org</font></u>.
30: To join the OpenBSD/hppa mailing list, send a message body of <b>"subscribe
31: hppa"</b> to <a href="mailto:majordomo@openbsd.org">majordomo@openbsd.org</a>.
32: Please be sure to check our <a href="mail.html">mailing list policy</a> before
33: subscribing.
34: </p>
35:
36: <p>
37: The current port maintainer is
38: <a href="mailto:mickey@openbsd.org">Michael Shalayeff</a>.
39: Others are definitely welcome to contribute!
40: </p>
41:
42: <a href="#toc"></a>
43: <h3><font color="#0000e0"><i>Table of contents</i></font></h3>
44: <p>
45: <ul>
1.82 jufi 46: <li><a href="#history">History of the port</a>
1.74 miod 47: <li><a href="#status">Current status</a>
48: <li><a href="#projects">Project list</a>
49: <li><a href="#hardware">Supported hardware list</a>
50: <li><a href="#hwdocs">Hardware documentation</a>
51: <li><a href="#install">Getting and installing OpenBSD/hppa</a>
52: <li><a href="#netboot">Netbooting OpenBSD/hppa</a>
53: <li><a href="#cross">Cross-compiling kernels</a>
54: </ul>
55: </p>
1.3 fn 56:
1.66 jufi 57: <hr>
1.74 miod 58: <a name="history"></a>
59: <h3><font color="#0000e0"><strong>History:</strong></font></h3>
1.30 deraadt 60:
1.64 mickey 61: <p>
1.67 deraadt 62: This project was started in those days when the only
1.38 mickey 63: open source operating systems for HP PA-RISC computers were
1.66 jufi 64: <a href="http://www.cs.utah.edu/projects/flux/lites/html">Lites</a> and
1.68 jufi 65: <a href="http://www.mklinux.org">MkLinux</a>.
1.38 mickey 66: These two sources were a major supply of information and
67: code for initial development of the OpenBSD/hppa port.
1.67 deraadt 68: <a href="http://www.cs.utah.edu/~mike/hpbsd/hpbsd.html">HPBSD</a>
1.38 mickey 69: is encumbered by HP proprietary code and USL licensing and is
70: not publicly available.
71: One of the major direct benefits from previous porting efforts
1.74 miod 72: (besides the code, of course) was support for HP PA-RISC in GCC and
73: binutils, which allowed quick building of a cross-tools environment
74: for development.
75: </p>
76:
1.38 mickey 77: <p>
1.74 miod 78: Later on, Hewlett-Packard decided to sponsor a
79: <a href="http://www.parisc-linux.org/">Linux</a> port to the PA-RISC
80: family, which actually resulted in some proprietary documentation
81: being released, even though their target was a different class of 9000
82: machines back then.
83: </p>
84:
85: <hr>
86: <a name="status"></a>
87: <h3><font color="#0000e0"><strong>Current status:</strong></font></h3>
88:
1.38 mickey 89: <p>
1.74 miod 90: Although there have been no official releases of this port yet,
91: the supported systems boot to multi-user and full snapshots are made
92: periodically.
93: </p>
1.64 mickey 94:
1.74 miod 95: <hr>
96: <a name="projects"></a>
97: <h3><font color="#0000e0"><strong>Projects (in no particular order):
98: </strong></font></h3>
1.64 mickey 99:
1.74 miod 100: <p>
1.16 mickey 101: <ul>
1.74 miod 102: <li>Improve overall stability
1.84 mickey 103: <li>Support the NCR53C700 SCSI controller
1.81 miod 104: <li>Support the NCR53C720 SCSI controller
1.84 mickey 105: <li>Installation procedures
1.74 miod 106: <li>Improve port-specific documentation
1.86 mickey 107: <li>Support booting from tape and cdrom
108: <li>Support for 7300LC and 8x00 cpus
109: <li>Support for 7000 cpus (the "original snakes" machines)
110: <li>HP-UX emulation
111: <li>PARISC/Linux emulation
112: <li>Shared libraries
1.74 miod 113: <li>X11 support
1.64 mickey 114: </ul>
1.74 miod 115: </p>
116:
117: <hr>
118: <a name="hardware"></a>
119: <h3><font color="#0000e0"><strong>Supported hardware:</strong></font></h3>
120:
121: <p>
122: <h4>Supported models</h4>
123: </p>
124:
125: <p>
1.64 mickey 126: <ul>
1.74 miod 127: <li>PA7100-based: 715/33, 715/50, 715/75, 725/50, 725/75, 735/100, 755/100
128: <li>PA7100LC-based: 712, 715/64, 715/80, 715/100, 715/100XC, 725/64, 725/100
129: <li>PA7150-based: 735/125, 755/125
130: <li>PA7200-based: J200, J210, J210XC, C100, C110
1.16 mickey 131: </ul>
1.74 miod 132: </p>
133:
134: <p>
135: <h4>Supported peripherals</h4>
136: </p>
137:
138: <p>
139: The list of supported hardware below is not meant to be exhaustive.
140: Hardware is needed for developers, to further help development and testing.
141: Please see our <a href="want.html">"Wanted List"</a>
1.66 jufi 142: (contact <a href="mailto:mickey@openbsd.org">mickey</a>).
1.74 miod 143: </p>
144:
145: <p>
146: <ul>
147: <li><strong>
148: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=io&sektion=4&arch=hppa">Bus/IO
149: controllers</a></strong>
150: <ul>
151: <li>Phantom PseudoBC GSC+ Port
152: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=phantomas&sektion=4&arch=hppa">phantomas</a>)
153: <li>GSC
154: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=gsc&sektion=4&arch=hppa">gsc</a>):
155: LASI
156: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=lasi&sektion=4&arch=hppa">lasi</a>),
157: ASP
158: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=asp&sektion=4&arch=hppa">asp</a>)
159: </ul>
160: <li><strong>SGC/GSC graphics</strong>
161: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sti&sektion=4">sti</a>)
162: <ul>
163: <li>Artist (as found on 712)
164: <li>CRX-8, CRX-24, HCRX-8, HCRX-24
165: </ul>
166: <li><strong>Serial ports</strong>
167: <ul>
1.86 mickey 168: <li>On-board ns16550 and compatibles
1.74 miod 169: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=com&sektion=4">com</a>)
170: </ul>
171: <li><strong>Parallel ports</strong>
172: <ul>
173: <li>On-board parallel port
174: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=lpt&sektion=4">lpt</a>)
175: </ul>
1.80 mickey 176: <li><strong>SCSI controllers</strong>
177: <ul>
178: <li>NCR53C710 SCSI I/O Processors
179: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=osiop&sektion=4">osiop</a>)
180: </ul>
1.74 miod 181: <li><strong>Ethernet</strong>
182: <ul>
183: <li>On-board Intel i82596 ethernet
184: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ie&sektion=4&arch=hppa">ie</a>)
185: </ul>
1.85 jason 186: <li><strong>Audio devices</strong>
187: <ul>
188: <li>On-board harmony CS4215/AD1849
189: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=harmony&sektion=4&arch=hppa">harmony</a>)
190: </ul>
1.88 ! miod 191: <li><strong>Input devices</strong>
! 192: <ul>
! 193: <li>HIL keyboards
! 194: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=hilkbd&sektion=4">hilkbd</a>)
! 195: <li>PS/2 keyboards
! 196: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=gsckbd&sektion=4&arch=hppa">gsckbd</a>)
! 197: </ul>
1.74 miod 198: <li><strong>Miscellaneous devices</strong>
199: <ul>
200: <li>Battery-backed real time clock
201: </ul>
202: </ul>
203: </p>
204:
205: <p>
206: <h4>Unsupported models</h4>
207: </p>
208:
209: <p>
210: The following systems may eventually work:
211: <ul>
212: <li>PA7000-based machines: 705, 710, 720, 730, 750
213: <li>PA2.0 systems (in 32-bit mode)
1.78 mickey 214: <li>HP 9000 836, 844, 845, 846
1.74 miod 215: <li>HP 9000 E23, E25, E35, E45, E55
216: <li>HP 3000 908, 918, 928, 938
217: <li>Hitachi VQ200, VQ210, and some other non-HP workstations
218: <li>Precision Book from RDI Computer Corporation (well, unlikely)
219: <li>HP VME and VXI single board systems (requires VME at least)
220: </ul>
221: </p>
222:
223: <p>
1.79 mickey 224: These systems will, probably, never be supported by this port since
225: they are of 1.0 PA-RISC architecture, which is substantially
226: inferiour to the 1.1:
1.78 mickey 227: <ul>
228: <li>HP 9000 600, 635, 645
229: <li>HP 9000 800, 808, 815, 822, 825, 832, 834, 835, 840, 842, 845, 850, 852, 855, 860, 865, 870, 890
230: <li>HP 9000 900
231: </ul>
232: </p>
233:
234: <p>
1.74 miod 235: <h4>Unsupported peripherals</h4>
236: </p>
237:
238: <p>
239: This list is not meant to be exhaustive either, but sums up the most commonly
240: encountered devices on hppa machines.
241: <ul>
242: <li><strong>Bus/IO controllers</strong>
243: <ul>
244: <li>EISA bus
245: <li>PCI bus
246: </ul>
247: <li><strong>SCSI controllers</strong>
248: <ul>
249: <li>NCR53C720 SCSI I/O Processors
250: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=siop&sektion=4">siop</a>)
251: </ul>
252: <li><strong>Input devices</strong>
253: <ul>
1.88 ! miod 254: <li>PS/2 mouse
! 255: <li>HIL mouse
1.74 miod 256: </ul>
257: <li><strong>On-board floppy controller</strong>
258: </ul>
259: </p>
260:
261: <hr>
262: <a name="hwdocs"></a>
263: <h3><font color="#0000e0"><strong>Hardware documentation:</strong></font></h3>
1.64 mickey 264:
1.74 miod 265: <p><small>
266: Most of the following documents have been released by Hewlett-Packard for
267: the <a href="http://www.parisc-linux.org/">PA-RISC Linux</a> project.
268: </small></p>
1.16 mickey 269:
1.74 miod 270: <p>
1.38 mickey 271: <ol type=1>
1.58 mickey 272: <li>HP PA-RISC CPUs
1.38 mickey 273: <ol type=a>
1.66 jufi 274: <li><a href="http://ftp.parisc-linux.org/docs/PCXL_ers.ps">PA7100LC CPU ERS</a>
275: <li><a href="http://ftp.parisc-linux.org/docs/pcxl2_ers.ps">PA7300LC CPU ERS</a>
1.38 mickey 276: </ol>
1.74 miod 277: <li>Processor Dependent Code/I/O Dependent Code Interface<br> <small>(selected chapters from "PA-RISC I/O Architecture Specification")</small>
1.38 mickey 278: <ol type=a>
1.66 jufi 279: <li><a href="http://ftp.parisc-linux.org/docs/pdc32.pdf">PDC 1.1</a>
280: <li><a href="http://ftp.parisc-linux.org/docs/iodc.pdf">IODC 1.1</a>
281: <li><a href="http://ftp.parisc-linux.org/docs/ver_nums.pdf">Version and Identification Number Allocation</a>
282: <li><a href="http://ftp.parisc-linux.org/docs/data_formats.pdf">Memory Data Formats 2.0</a>
283: <li><a href="http://ftp.parisc-linux.org/docs/pdc.pdf">PDC Procedures 2.0</a>
284: <li><a href="http://ftp.parisc-linux.org/docs/pdce.pdf">PDC Entry Points 2.0</a>
285: <li><a href="http://ftp.parisc-linux.org/docs/os_interface.pdf">OS Interface 2.0</a>
1.38 mickey 286: </ol>
1.74 miod 287: <li>Bus controllers/bridges/adaptors
1.38 mickey 288: <ol type=a>
1.66 jufi 289: <li><a href="http://ftp.parisc-linux.org/docs/hardball_ers.pdf">ASP</a>
290: <li><a href="http://ftp.parisc-linux.org/docs/lasi_ers.ps">LASI Core Bus Adapter (including lan, scsi, serial, lpt controllers)</a>
291: <li><a href="http://ftp.parisc-linux.org/docs/dino_ers.ps">Dino PCI bridge</a>,
292: and <a href="http://ftp.parisc-linux.org/docs/Dino_3_1_Errata.html">Errata</a>
293: <li><a href="http://ftp.parisc-linux.org/docs/elroy_ers.ps">Elroy ERS (Edited for Open Source)</a>
294: <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 295: </ol>
1.74 miod 296: <li><a href="http://ftp.parisc-linux.org/docs/sti.pdf">Stinger
297: graphics</a>
1.83 mickey 298: <li><a href="http://www.lsilogic.com/techlib/techdocs/storage_stand_prod/SCSIControllers/770.pdf">NCR
1.74 miod 299: 53C700/710/720 SCSI I/O Processors</a>
1.40 mickey 300: <small>(the doc is actually for 770, which is claimed as compatible)</small>
1.74 miod 301: <li>Intel
302: <a href="http://developer.intel.com/design/network/datashts/290219.htm">i82596DX/SX</a>
303: and
304: <a href="http://developer.intel.com/design/network/datashts/290218.htm">i82596CA</a>
305: Ethernet Controllers
1.38 mickey 306: </ol>
1.74 miod 307: </p>
308:
309: <p>
310: Of course, no hppa page, be it OpenBSD or not, could pretend to be serious
311: without linking to the essential <a href="http://www.openpa.net/">OpenPA</a>
312: reference website.
313: </p>
1.38 mickey 314:
1.64 mickey 315: <hr>
1.74 miod 316: <a name="install"></a>
317: <h3><font color="#0000e0">
318: <strong>Getting and installing OpenBSD/hppa:</strong>
319: </font></h3>
1.64 mickey 320:
1.74 miod 321: <!-- not yet kiddies
1.18 mickey 322: <p>
1.74 miod 323: The latest supported OpenBSD/hppa release is
324: <a href="32.html">OpenBSD 3.2</a>.
325: Here are the
326: <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/3.2/hppa/INSTALL.hppa">
327: OpenBSD/hppa 3.2 installation instructions
328: </a>.
329: </p>
330: -->
1.66 jufi 331:
1.18 mickey 332: <p>
1.74 miod 333: Snapshots are made available from time to time, in
334: <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/snapshots/hppa">this location</a>
335: as well as in a few
336: <a href="ftp.html">mirrors</a>.
337: Here are the
338: <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/snapshots/hppa/INSTALL.hppa">
339: OpenBSD/hppa snapshot installation instructions
340: </a> as well.
1.15 mickey 341: </p>
1.74 miod 342:
1.3 fn 343: <hr>
1.75 miod 344: <a name="netboot"></a>
1.74 miod 345: <h3><font color="#0000e0"><strong>Netbooting OpenBSD/hppa:</strong></font></h3>
346:
347: <p>
348: The <tt>boot.lif</tt> file contains both a bootloader and a kernel.
349: To boot it from the network, a server machine has to be setup so as to
350: let the hppa machine retrieve it:
1.45 miod 351: <ol>
1.66 jufi 352: <li>Server setup
1.45 miod 353: <ul>
1.74 miod 354: <li>For older machines (705, 7[1235]0, old 715)
355: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rbootd&sektion=8">rbootd</a>
356: must be setup and started.
1.45 miod 357: <ul>
1.74 miod 358: <li><tt>/etc/rbootd.conf</tt> contains a single line per machine
359: needing to boot from the server. Each line contains the ethernet
360: address of the client hppa machine, and the filename to be loaded from
361: the tftp server (relative to <tt>/usr/mdec/rbootd</tt>).
362: For example:
1.28 todd 363: <pre>
1.66 jufi 364: 8:0:9:70:c4:11 <a href="#boot_lif">boot.lif</a> # 9000/720
365: 8:0:9:19:fb:a0 <a href="#boot_lif">boot.lif</a> # 9000/725
1.28 todd 366: </pre>
1.45 miod 367: </li>
368: </ul>
369: </li>
1.74 miod 370: <li>Recent machines (712, newer 715, 725) will not look for rbootd at all,
371: but instead require a <b>bootp</b> setup.
1.45 miod 372: <ul>
1.74 miod 373: <li><tt>/etc/<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=bootptab&sektion=5">bootptab</a></tt>
374: contains an information block for each machine. For example:
1.45 miod 375: <pre>
376: # 9000/715
1.49 miod 377: boron:\
1.45 miod 378: ha=0800095f5a6e:\
379: bf=boot.lif:\
380: hd=:\
381: ht=ethernet:\
1.52 miod 382: ip=10.0.1.143:\
1.53 mickey 383: rp=/usr/local/exports/boron/root:\
1.45 miod 384: sm=255.255.255.0:\
385: td=/tftpboot:
386: </pre>
387: </li>
1.48 mickey 388: <li>
1.74 miod 389: Create directory <tt>/tftpboot</tt> and put the
1.76 mickey 390: <tt><a href="#boot_lif">boot.lif</a></tt> file in it.<br>
1.48 mickey 391: </li>
392: <li>
1.74 miod 393: Write an entry for the hppa in <tt>/etc/ethers</tt>:
1.48 mickey 394: <pre>
1.49 miod 395: 08:00:09:5f:5a:6e boron
1.76 mickey 396: </pre>
1.48 mickey 397: </li>
398: <li>
1.74 miod 399: Write another entry for it in <tt>/etc/hosts</tt>:
1.48 mickey 400: <pre>
1.52 miod 401: 10.0.1.143 boron
1.76 mickey 402: </pre>
1.48 mickey 403: </li>
404: <li>
1.74 miod 405: Create directory <tt>/usr/local/exports/boron/root</tt> and unpack
406: at least <tt>base32.tgz</tt> and <tt>etc32.tgz</tt> in it.
407: </li>
408: <li>
409: After the sets are unpacked, create device nodes in <tt>dev/</tt> by
410: running <tt>MAKEDEV</tt> and alter the configuration files in
411: <tt>/etc</tt> (refer to the installation notes for details).
1.48 mickey 412: </li>
413: <li>
1.74 miod 414: Finally, add an entry to <tt>/etc/exports</tt> in order to export
415: the root directory to the client:
1.48 mickey 416: <pre>
1.49 miod 417: /usr/local/exports/boron/root boron
1.76 mickey 418: </pre>
1.74 miod 419: You might want to also create and export a swap area.
1.48 mickey 420: </li>
421: <li>
1.74 miod 422: The last step is to enable the necessary daemons for all of this to
423: work.
424: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=bootpd&sektion=8">bootpd</a>
425: and
426: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=tftpd&sektion=8">tftpd</a>
427: are usually run from
428: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=inetd&sektion=8">inetd</a>,
429: so <tt>/etc/inetd.conf</tt> has to be modified and
430: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=inetd&sektion=8">inetd</a>
431: restarted.
1.51 mickey 432: </li>
1.76 mickey 433: <li>
1.74 miod 434: For proper NFS server operation,
435: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=portmap&sektion=8">portmap</a>,
436: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=mountd&sektion=8">mountd</a>
437: and
438: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=nfsd&sektion=8">nfsd</a>
439: need to be enabled, as well as
440: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rarpd&sektion=8">rarpd</a>
441: and
442: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rpc.bootparamsd&sektion=8">rpc.bootparamsd</a>
443: in
444: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rc.conf&sektion=5">rc.conf</a>.
1.48 mickey 445: </li>
446: </ul>
1.45 miod 447: </li>
1.74 miod 448: <li>For further reading on server setup for network booting in general,
449: please refer to the
450: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&sektion=8">diskless(8)</a>
451: manual page.
452: </li>
1.45 miod 453: </ul>
1.66 jufi 454: <p>
455: <li>Client Network Boot
1.45 miod 456: <ul>
457: <li>BOOT_ADMIN<br>
1.74 miod 458: In order to get to the BOOT_ADMIN prompt, hit the <em><esc></em>
459: key as the machine is coming up. Once it has probed bootable devices,
460: a menu will be displayed; if the prompt is <i>not</i> <b>BOOT_ADMIN</b>,
461: it will be necessary to type <i>``a''</i> to access it.
1.28 todd 462: </li>
1.74 miod 463: <li>Network boot command<br>
464: Once at the 'BOOT_ADMIN' prompt, the command
1.28 todd 465: <pre>
466: BOOT_ADMIN> boot lan isl
467: </pre>
1.74 miod 468: will proceed to the bootstrap of boot.lif.
1.66 jufi 469: </ul>
1.74 miod 470: </li>
1.28 todd 471: </ol>
1.74 miod 472: </p>
473:
1.28 todd 474: <hr>
1.75 miod 475: <a name="cross"></a>
1.74 miod 476: <h3><font color="#0000e0"><strong>Cross-compiling kernels:</strong></font></h3>
477:
478: <p>
479: The OpenBSD source tree provides some cross-compilation facilities.
480: First, a set of hppa cross tools (cross compiler, cross binutils, etc) must
481: be created:
482: <pre>
483: # cd /usr/src
484: # make TARGET=hppa cross-includes cross-binutils cross-gcc
485: </pre>
486: This will build and install the various utilities in <tt>/usr/cross/hppa</tt>.
487: Note that this step must be run as root, or using
488: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sudo&sektion=8">sudo</a>.
489: </p>
490:
491: <a name="boot_lif"></a>
492: <h4>Building boot.lif using cross-tools</h4>
493:
494: <p>
495: <ul>
496: <li>Building <i>mkboot</i>
497: <p>
498: mkboot is the only specific host tool needed for the boot.lif build.
499: <pre>
500: $ cd /usr/src/sys/arch/hppa/stand/mkboot
1.75 miod 501: $ env MACHINE=hppa make obj
502: $ env MACHINE=hppa make depend all
1.74 miod 503: </pre>
504: </p></li>
505: <li>Building the kernel
506: <p>
507: The kernel can be configured as usual, and then built using the cross-tools.
508: <pre>
509: $ cd /usr/src/sys/arch/hppa/conf
510: $ config GENERIC
511: $ cd /usr/src/sys/arch/hppa/compile/GENERIC
512: $ export CROSS=/usr/cross/hppa/usr/bin
513: $ env MACHINE=hppa MACHINE_ARCH=hppa \
514: AR=$CROSS/ar AS=$CROSS/as CC=$CROSS/cc CPP=$CROSS/cpp LD=$CROSS/ld \
515: NM=$CROSS/nm RANLIB=$CROSS/ranlib SIZE=$CROSS/size STRIP=$CROSS/strip \
516: make depend bsd
517: </pre>
518: </p></li>
519: <li>Build boot.lif
520: <p>With the kernel compiled, the boot loader can now be compiled and the
521: lif file generated.
522: <pre>
523: $ cd /usr/src/sys/arch/hppa/stand
524: $ export CROSS=/usr/cross/hppa/usr/bin
1.75 miod 525: $ env MACHINE=hppa make SKIPDIR=mkboot obj
1.74 miod 526: $ env MACHINE=hppa MACHINE_ARCH=hppa \
527: AR=$CROSS/ar AS=$CROSS/as CC=$CROSS/cc CPP=$CROSS/cpp LD=$CROSS/ld \
528: NM=$CROSS/nm RANLIB=$CROSS/ranlib SIZE=$CROSS/size STRIP=$CROSS/strip \
1.75 miod 529: make SKIPDIR=mkboot depend all
1.74 miod 530: </pre>
531: </p></li>
532: </ul>
533: The final boot.lif file stands in
1.77 miod 534: <tt>/usr/src/sys/arch/hppa/stand/boot/obj/boot.lif</tt>
1.74 miod 535: </p>
536:
537: <hr>
538: <a href="plat.html">
539: <img height="24" width="24" src="back.gif" border="0" alt="Supported platforms">
1.76 mickey 540: </a>
1.3 fn 541: <br>
1.74 miod 542: <small><a href="mailto:www@openbsd.org">www@openbsd.org</a></small>
543: <br>
1.88 ! miod 544: <small>$OpenBSD: hppa.html,v 1.87 2003/01/29 23:12:58 mickey Exp $</small>
1.3 fn 545: </body>
546: </html>