Annotation of www/hppa.html, Revision 1.90
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>)
1.89 miod 195: <li>HIL mice and graphics tablet
196: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=hilms&sektion=4">hilms</a>)
1.88 miod 197: <li>PS/2 keyboards
198: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=gsckbd&sektion=4&arch=hppa">gsckbd</a>)
199: </ul>
1.74 miod 200: <li><strong>Miscellaneous devices</strong>
201: <ul>
202: <li>Battery-backed real time clock
203: </ul>
204: </ul>
205: </p>
206:
207: <p>
208: <h4>Unsupported models</h4>
209: </p>
210:
211: <p>
212: The following systems may eventually work:
213: <ul>
214: <li>PA7000-based machines: 705, 710, 720, 730, 750
215: <li>PA2.0 systems (in 32-bit mode)
1.78 mickey 216: <li>HP 9000 836, 844, 845, 846
1.74 miod 217: <li>HP 9000 E23, E25, E35, E45, E55
218: <li>HP 3000 908, 918, 928, 938
219: <li>Hitachi VQ200, VQ210, and some other non-HP workstations
1.90 ! mickey 220: <li>Hitachi 3050RX/200, 3050RX/10C
1.74 miod 221: <li>Precision Book from RDI Computer Corporation (well, unlikely)
222: <li>HP VME and VXI single board systems (requires VME at least)
223: </ul>
224: </p>
225:
226: <p>
1.79 mickey 227: These systems will, probably, never be supported by this port since
228: they are of 1.0 PA-RISC architecture, which is substantially
229: inferiour to the 1.1:
1.78 mickey 230: <ul>
231: <li>HP 9000 600, 635, 645
232: <li>HP 9000 800, 808, 815, 822, 825, 832, 834, 835, 840, 842, 845, 850, 852, 855, 860, 865, 870, 890
233: <li>HP 9000 900
234: </ul>
235: </p>
236:
237: <p>
1.74 miod 238: <h4>Unsupported peripherals</h4>
239: </p>
240:
241: <p>
242: This list is not meant to be exhaustive either, but sums up the most commonly
243: encountered devices on hppa machines.
244: <ul>
245: <li><strong>Bus/IO controllers</strong>
246: <ul>
247: <li>EISA bus
248: <li>PCI bus
249: </ul>
250: <li><strong>SCSI controllers</strong>
251: <ul>
252: <li>NCR53C720 SCSI I/O Processors
253: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=siop&sektion=4">siop</a>)
254: </ul>
255: <li><strong>Input devices</strong>
256: <ul>
1.88 miod 257: <li>PS/2 mouse
1.74 miod 258: </ul>
259: <li><strong>On-board floppy controller</strong>
260: </ul>
261: </p>
262:
263: <hr>
264: <a name="hwdocs"></a>
265: <h3><font color="#0000e0"><strong>Hardware documentation:</strong></font></h3>
1.64 mickey 266:
1.74 miod 267: <p><small>
268: Most of the following documents have been released by Hewlett-Packard for
269: the <a href="http://www.parisc-linux.org/">PA-RISC Linux</a> project.
270: </small></p>
1.16 mickey 271:
1.74 miod 272: <p>
1.38 mickey 273: <ol type=1>
1.58 mickey 274: <li>HP PA-RISC CPUs
1.38 mickey 275: <ol type=a>
1.66 jufi 276: <li><a href="http://ftp.parisc-linux.org/docs/PCXL_ers.ps">PA7100LC CPU ERS</a>
277: <li><a href="http://ftp.parisc-linux.org/docs/pcxl2_ers.ps">PA7300LC CPU ERS</a>
1.38 mickey 278: </ol>
1.74 miod 279: <li>Processor Dependent Code/I/O Dependent Code Interface<br> <small>(selected chapters from "PA-RISC I/O Architecture Specification")</small>
1.38 mickey 280: <ol type=a>
1.66 jufi 281: <li><a href="http://ftp.parisc-linux.org/docs/pdc32.pdf">PDC 1.1</a>
282: <li><a href="http://ftp.parisc-linux.org/docs/iodc.pdf">IODC 1.1</a>
283: <li><a href="http://ftp.parisc-linux.org/docs/ver_nums.pdf">Version and Identification Number Allocation</a>
284: <li><a href="http://ftp.parisc-linux.org/docs/data_formats.pdf">Memory Data Formats 2.0</a>
285: <li><a href="http://ftp.parisc-linux.org/docs/pdc.pdf">PDC Procedures 2.0</a>
286: <li><a href="http://ftp.parisc-linux.org/docs/pdce.pdf">PDC Entry Points 2.0</a>
287: <li><a href="http://ftp.parisc-linux.org/docs/os_interface.pdf">OS Interface 2.0</a>
1.38 mickey 288: </ol>
1.74 miod 289: <li>Bus controllers/bridges/adaptors
1.38 mickey 290: <ol type=a>
1.66 jufi 291: <li><a href="http://ftp.parisc-linux.org/docs/hardball_ers.pdf">ASP</a>
292: <li><a href="http://ftp.parisc-linux.org/docs/lasi_ers.ps">LASI Core Bus Adapter (including lan, scsi, serial, lpt controllers)</a>
293: <li><a href="http://ftp.parisc-linux.org/docs/dino_ers.ps">Dino PCI bridge</a>,
294: and <a href="http://ftp.parisc-linux.org/docs/Dino_3_1_Errata.html">Errata</a>
295: <li><a href="http://ftp.parisc-linux.org/docs/elroy_ers.ps">Elroy ERS (Edited for Open Source)</a>
296: <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 297: </ol>
1.74 miod 298: <li><a href="http://ftp.parisc-linux.org/docs/sti.pdf">Stinger
299: graphics</a>
1.83 mickey 300: <li><a href="http://www.lsilogic.com/techlib/techdocs/storage_stand_prod/SCSIControllers/770.pdf">NCR
1.74 miod 301: 53C700/710/720 SCSI I/O Processors</a>
1.40 mickey 302: <small>(the doc is actually for 770, which is claimed as compatible)</small>
1.74 miod 303: <li>Intel
304: <a href="http://developer.intel.com/design/network/datashts/290219.htm">i82596DX/SX</a>
305: and
306: <a href="http://developer.intel.com/design/network/datashts/290218.htm">i82596CA</a>
307: Ethernet Controllers
1.38 mickey 308: </ol>
1.74 miod 309: </p>
310:
311: <p>
312: Of course, no hppa page, be it OpenBSD or not, could pretend to be serious
313: without linking to the essential <a href="http://www.openpa.net/">OpenPA</a>
314: reference website.
315: </p>
1.38 mickey 316:
1.64 mickey 317: <hr>
1.74 miod 318: <a name="install"></a>
319: <h3><font color="#0000e0">
320: <strong>Getting and installing OpenBSD/hppa:</strong>
321: </font></h3>
1.64 mickey 322:
1.74 miod 323: <!-- not yet kiddies
1.18 mickey 324: <p>
1.74 miod 325: The latest supported OpenBSD/hppa release is
326: <a href="32.html">OpenBSD 3.2</a>.
327: Here are the
328: <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/3.2/hppa/INSTALL.hppa">
329: OpenBSD/hppa 3.2 installation instructions
330: </a>.
331: </p>
332: -->
1.66 jufi 333:
1.18 mickey 334: <p>
1.74 miod 335: Snapshots are made available from time to time, in
336: <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/snapshots/hppa">this location</a>
337: as well as in a few
338: <a href="ftp.html">mirrors</a>.
339: Here are the
340: <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/snapshots/hppa/INSTALL.hppa">
341: OpenBSD/hppa snapshot installation instructions
342: </a> as well.
1.15 mickey 343: </p>
1.74 miod 344:
1.3 fn 345: <hr>
1.75 miod 346: <a name="netboot"></a>
1.74 miod 347: <h3><font color="#0000e0"><strong>Netbooting OpenBSD/hppa:</strong></font></h3>
348:
349: <p>
350: The <tt>boot.lif</tt> file contains both a bootloader and a kernel.
351: To boot it from the network, a server machine has to be setup so as to
352: let the hppa machine retrieve it:
1.45 miod 353: <ol>
1.66 jufi 354: <li>Server setup
1.45 miod 355: <ul>
1.74 miod 356: <li>For older machines (705, 7[1235]0, old 715)
357: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rbootd&sektion=8">rbootd</a>
358: must be setup and started.
1.45 miod 359: <ul>
1.74 miod 360: <li><tt>/etc/rbootd.conf</tt> contains a single line per machine
361: needing to boot from the server. Each line contains the ethernet
362: address of the client hppa machine, and the filename to be loaded from
363: the tftp server (relative to <tt>/usr/mdec/rbootd</tt>).
364: For example:
1.28 todd 365: <pre>
1.66 jufi 366: 8:0:9:70:c4:11 <a href="#boot_lif">boot.lif</a> # 9000/720
367: 8:0:9:19:fb:a0 <a href="#boot_lif">boot.lif</a> # 9000/725
1.28 todd 368: </pre>
1.45 miod 369: </li>
370: </ul>
371: </li>
1.74 miod 372: <li>Recent machines (712, newer 715, 725) will not look for rbootd at all,
373: but instead require a <b>bootp</b> setup.
1.45 miod 374: <ul>
1.74 miod 375: <li><tt>/etc/<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=bootptab&sektion=5">bootptab</a></tt>
376: contains an information block for each machine. For example:
1.45 miod 377: <pre>
378: # 9000/715
1.49 miod 379: boron:\
1.45 miod 380: ha=0800095f5a6e:\
381: bf=boot.lif:\
382: hd=:\
383: ht=ethernet:\
1.52 miod 384: ip=10.0.1.143:\
1.53 mickey 385: rp=/usr/local/exports/boron/root:\
1.45 miod 386: sm=255.255.255.0:\
387: td=/tftpboot:
388: </pre>
389: </li>
1.48 mickey 390: <li>
1.74 miod 391: Create directory <tt>/tftpboot</tt> and put the
1.76 mickey 392: <tt><a href="#boot_lif">boot.lif</a></tt> file in it.<br>
1.48 mickey 393: </li>
394: <li>
1.74 miod 395: Write an entry for the hppa in <tt>/etc/ethers</tt>:
1.48 mickey 396: <pre>
1.49 miod 397: 08:00:09:5f:5a:6e boron
1.76 mickey 398: </pre>
1.48 mickey 399: </li>
400: <li>
1.74 miod 401: Write another entry for it in <tt>/etc/hosts</tt>:
1.48 mickey 402: <pre>
1.52 miod 403: 10.0.1.143 boron
1.76 mickey 404: </pre>
1.48 mickey 405: </li>
406: <li>
1.74 miod 407: Create directory <tt>/usr/local/exports/boron/root</tt> and unpack
408: at least <tt>base32.tgz</tt> and <tt>etc32.tgz</tt> in it.
409: </li>
410: <li>
411: After the sets are unpacked, create device nodes in <tt>dev/</tt> by
412: running <tt>MAKEDEV</tt> and alter the configuration files in
413: <tt>/etc</tt> (refer to the installation notes for details).
1.48 mickey 414: </li>
415: <li>
1.74 miod 416: Finally, add an entry to <tt>/etc/exports</tt> in order to export
417: the root directory to the client:
1.48 mickey 418: <pre>
1.49 miod 419: /usr/local/exports/boron/root boron
1.76 mickey 420: </pre>
1.74 miod 421: You might want to also create and export a swap area.
1.48 mickey 422: </li>
423: <li>
1.74 miod 424: The last step is to enable the necessary daemons for all of this to
425: work.
426: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=bootpd&sektion=8">bootpd</a>
427: and
428: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=tftpd&sektion=8">tftpd</a>
429: are usually run from
430: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=inetd&sektion=8">inetd</a>,
431: so <tt>/etc/inetd.conf</tt> has to be modified and
432: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=inetd&sektion=8">inetd</a>
433: restarted.
1.51 mickey 434: </li>
1.76 mickey 435: <li>
1.74 miod 436: For proper NFS server operation,
437: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=portmap&sektion=8">portmap</a>,
438: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=mountd&sektion=8">mountd</a>
439: and
440: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=nfsd&sektion=8">nfsd</a>
441: need to be enabled, as well as
442: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rarpd&sektion=8">rarpd</a>
443: and
444: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rpc.bootparamsd&sektion=8">rpc.bootparamsd</a>
445: in
446: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rc.conf&sektion=5">rc.conf</a>.
1.48 mickey 447: </li>
448: </ul>
1.45 miod 449: </li>
1.74 miod 450: <li>For further reading on server setup for network booting in general,
451: please refer to the
452: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&sektion=8">diskless(8)</a>
453: manual page.
454: </li>
1.45 miod 455: </ul>
1.66 jufi 456: <p>
457: <li>Client Network Boot
1.45 miod 458: <ul>
459: <li>BOOT_ADMIN<br>
1.74 miod 460: In order to get to the BOOT_ADMIN prompt, hit the <em><esc></em>
461: key as the machine is coming up. Once it has probed bootable devices,
462: a menu will be displayed; if the prompt is <i>not</i> <b>BOOT_ADMIN</b>,
463: it will be necessary to type <i>``a''</i> to access it.
1.28 todd 464: </li>
1.74 miod 465: <li>Network boot command<br>
466: Once at the 'BOOT_ADMIN' prompt, the command
1.28 todd 467: <pre>
468: BOOT_ADMIN> boot lan isl
469: </pre>
1.74 miod 470: will proceed to the bootstrap of boot.lif.
1.66 jufi 471: </ul>
1.74 miod 472: </li>
1.28 todd 473: </ol>
1.74 miod 474: </p>
475:
1.28 todd 476: <hr>
1.75 miod 477: <a name="cross"></a>
1.74 miod 478: <h3><font color="#0000e0"><strong>Cross-compiling kernels:</strong></font></h3>
479:
480: <p>
481: The OpenBSD source tree provides some cross-compilation facilities.
482: First, a set of hppa cross tools (cross compiler, cross binutils, etc) must
483: be created:
484: <pre>
485: # cd /usr/src
486: # make TARGET=hppa cross-includes cross-binutils cross-gcc
487: </pre>
488: This will build and install the various utilities in <tt>/usr/cross/hppa</tt>.
489: Note that this step must be run as root, or using
490: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sudo&sektion=8">sudo</a>.
491: </p>
492:
493: <a name="boot_lif"></a>
494: <h4>Building boot.lif using cross-tools</h4>
495:
496: <p>
497: <ul>
498: <li>Building <i>mkboot</i>
499: <p>
500: mkboot is the only specific host tool needed for the boot.lif build.
501: <pre>
502: $ cd /usr/src/sys/arch/hppa/stand/mkboot
1.75 miod 503: $ env MACHINE=hppa make obj
504: $ env MACHINE=hppa make depend all
1.74 miod 505: </pre>
506: </p></li>
507: <li>Building the kernel
508: <p>
509: The kernel can be configured as usual, and then built using the cross-tools.
510: <pre>
511: $ cd /usr/src/sys/arch/hppa/conf
512: $ config GENERIC
513: $ cd /usr/src/sys/arch/hppa/compile/GENERIC
514: $ export CROSS=/usr/cross/hppa/usr/bin
515: $ env MACHINE=hppa MACHINE_ARCH=hppa \
516: AR=$CROSS/ar AS=$CROSS/as CC=$CROSS/cc CPP=$CROSS/cpp LD=$CROSS/ld \
517: NM=$CROSS/nm RANLIB=$CROSS/ranlib SIZE=$CROSS/size STRIP=$CROSS/strip \
518: make depend bsd
519: </pre>
520: </p></li>
521: <li>Build boot.lif
522: <p>With the kernel compiled, the boot loader can now be compiled and the
523: lif file generated.
524: <pre>
525: $ cd /usr/src/sys/arch/hppa/stand
526: $ export CROSS=/usr/cross/hppa/usr/bin
1.75 miod 527: $ env MACHINE=hppa make SKIPDIR=mkboot obj
1.74 miod 528: $ env MACHINE=hppa MACHINE_ARCH=hppa \
529: AR=$CROSS/ar AS=$CROSS/as CC=$CROSS/cc CPP=$CROSS/cpp LD=$CROSS/ld \
530: NM=$CROSS/nm RANLIB=$CROSS/ranlib SIZE=$CROSS/size STRIP=$CROSS/strip \
1.75 miod 531: make SKIPDIR=mkboot depend all
1.74 miod 532: </pre>
533: </p></li>
534: </ul>
535: The final boot.lif file stands in
1.77 miod 536: <tt>/usr/src/sys/arch/hppa/stand/boot/obj/boot.lif</tt>
1.74 miod 537: </p>
538:
539: <hr>
540: <a href="plat.html">
541: <img height="24" width="24" src="back.gif" border="0" alt="Supported platforms">
1.76 mickey 542: </a>
1.3 fn 543: <br>
1.74 miod 544: <small><a href="mailto:www@openbsd.org">www@openbsd.org</a></small>
545: <br>
1.90 ! mickey 546: <small>$OpenBSD: hppa.html,v 1.89 2003/02/12 01:51:57 miod Exp $</small>
1.3 fn 547: </body>
548: </html>