Annotation of www/hppa.html, Revision 1.74
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.55 horacio 12: <meta name="copyright" content="This document copyright 1996-2002 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>
! 46: <li><a href="#history">Past history of the port</a>
! 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: <p>
! 96: Currently, no storage devices are supported, so the only way to run this
! 97: port is in a diskless environment.
! 98: </p>
! 99:
! 100: <hr>
! 101: <a name="projects"></a>
! 102: <h3><font color="#0000e0"><strong>Projects (in no particular order):
! 103: </strong></font></h3>
1.64 mickey 104:
1.74 ! miod 105: <p>
1.16 mickey 106: <ul>
1.74 ! miod 107: <li>Improve overall stability
! 108: <li>Support the on-board SCSI controller (NCR 53c7xx)
! 109: <li>Standalone boot blocks (once SCSI support is ready)
! 110: <li>Support keyboard and mouse (PS/2 and HIL) natively
! 111: <li>Improve port-specific documentation
! 112: <li>X11 support
1.64 mickey 113: </ul>
1.74 ! miod 114: </p>
! 115:
! 116: <hr>
! 117: <a name="hardware"></a>
! 118: <h3><font color="#0000e0"><strong>Supported hardware:</strong></font></h3>
! 119:
! 120: <p>
! 121: <h4>Supported models</h4>
! 122: </p>
! 123:
! 124: <p>
1.64 mickey 125: <ul>
1.74 ! miod 126: <li>PA7100-based: 715/33, 715/50, 715/75, 725/50, 725/75, 735/100, 755/100
! 127: <li>PA7100LC-based: 712, 715/64, 715/80, 715/100, 715/100XC, 725/64, 725/100
! 128: <li>PA7150-based: 735/125, 755/125
! 129: <li>PA7200-based: J200, J210, J210XC, C100, C110
1.16 mickey 130: </ul>
1.74 ! miod 131: </p>
! 132:
! 133: <p>
! 134: <h4>Supported peripherals</h4>
! 135: </p>
! 136:
! 137: <p>
! 138: The list of supported hardware below is not meant to be exhaustive.
! 139: Hardware is needed for developers, to further help development and testing.
! 140: Please see our <a href="want.html">"Wanted List"</a>
1.66 jufi 141: (contact <a href="mailto:mickey@openbsd.org">mickey</a>).
1.74 ! miod 142: </p>
! 143:
! 144: <p>
! 145: <ul>
! 146: <li><strong>
! 147: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=io&sektion=4&arch=hppa">Bus/IO
! 148: controllers</a></strong>
! 149: <ul>
! 150: <li>Phantom PseudoBC GSC+ Port
! 151: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=phantomas&sektion=4&arch=hppa">phantomas</a>)
! 152: <li>GSC
! 153: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=gsc&sektion=4&arch=hppa">gsc</a>):
! 154: LASI
! 155: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=lasi&sektion=4&arch=hppa">lasi</a>),
! 156: ASP
! 157: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=asp&sektion=4&arch=hppa">asp</a>)
! 158: </ul>
! 159: <li><strong>SGC/GSC graphics</strong>
! 160: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sti&sektion=4">sti</a>)
! 161: <ul>
! 162: <li>Artist (as found on 712)
! 163: <li>CRX-8, CRX-24, HCRX-8, HCRX-24
! 164: </ul>
! 165: <li><strong>Serial ports</strong>
! 166: <ul>
! 167: <li>On-board ns16550 or similar
! 168: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=com&sektion=4">com</a>)
! 169: </ul>
! 170: <li><strong>Parallel ports</strong>
! 171: <ul>
! 172: <li>On-board parallel port
! 173: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=lpt&sektion=4">lpt</a>)
! 174: </ul>
! 175: <li><strong>Ethernet</strong>
! 176: <ul>
! 177: <li>On-board Intel i82596 ethernet
! 178: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ie&sektion=4&arch=hppa">ie</a>)
! 179: </ul>
! 180: <li><strong>Miscellaneous devices</strong>
! 181: <ul>
! 182: <li>Battery-backed real time clock
! 183: <li>Keyboard console (via PDC support)
! 184: </ul>
! 185: </ul>
! 186: </p>
! 187:
! 188: <p>
! 189: <h4>Unsupported models</h4>
! 190: </p>
! 191:
! 192: <p>
! 193: The following systems may eventually work:
! 194: <ul>
! 195: <li>PA7000-based machines: 705, 710, 720, 730, 750
! 196: <li>PA2.0 systems (in 32-bit mode)
! 197: <li>HP 9000 834, 835, 836, 844, 845, 846
! 198: <li>HP 9000 E23, E25, E35, E45, E55
! 199: <li>HP 3000 908, 918, 928, 938
! 200: <li>Hitachi VQ200, VQ210, and some other non-HP workstations
! 201: <li>Precision Book from RDI Computer Corporation (well, unlikely)
! 202: <li>HP VME and VXI single board systems (requires VME at least)
! 203: </ul>
! 204: </p>
! 205:
! 206: <p>
! 207: <h4>Unsupported peripherals</h4>
! 208: </p>
! 209:
! 210: <p>
! 211: This list is not meant to be exhaustive either, but sums up the most commonly
! 212: encountered devices on hppa machines.
! 213: <ul>
! 214: <li><strong>Bus/IO controllers</strong>
! 215: <ul>
! 216: <li>EISA bus
! 217: <li>PCI bus
! 218: </ul>
! 219: <li><strong>SCSI controllers</strong>
! 220: <ul>
! 221: <li>NCR53C710 SCSI I/O Processors
! 222: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=osiop&sektion=4">osiop</a>)
! 223: <li>NCR53C720 SCSI I/O Processors
! 224: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=siop&sektion=4">siop</a>)
! 225: </ul>
! 226: <li><strong>Input devices</strong>
! 227: <ul>
! 228: <li>PS/2 keyboard and mouse
! 229: <li>HIL keyboard and mouse
! 230: </ul>
! 231: <li><strong>On-board floppy controller</strong>
! 232: <li><strong>On-board audio</strong>
! 233: </ul>
! 234: </p>
! 235:
! 236: <hr>
! 237: <a name="hwdocs"></a>
! 238: <h3><font color="#0000e0"><strong>Hardware documentation:</strong></font></h3>
1.64 mickey 239:
1.74 ! miod 240: <p><small>
! 241: Most of the following documents have been released by Hewlett-Packard for
! 242: the <a href="http://www.parisc-linux.org/">PA-RISC Linux</a> project.
! 243: </small></p>
1.16 mickey 244:
1.74 ! miod 245: <p>
1.38 mickey 246: <ol type=1>
1.58 mickey 247: <li>HP PA-RISC CPUs
1.38 mickey 248: <ol type=a>
1.66 jufi 249: <li><a href="http://ftp.parisc-linux.org/docs/PCXL_ers.ps">PA7100LC CPU ERS</a>
250: <li><a href="http://ftp.parisc-linux.org/docs/pcxl2_ers.ps">PA7300LC CPU ERS</a>
1.38 mickey 251: </ol>
1.74 ! miod 252: <li>Processor Dependent Code/I/O Dependent Code Interface<br> <small>(selected chapters from "PA-RISC I/O Architecture Specification")</small>
1.38 mickey 253: <ol type=a>
1.66 jufi 254: <li><a href="http://ftp.parisc-linux.org/docs/pdc32.pdf">PDC 1.1</a>
255: <li><a href="http://ftp.parisc-linux.org/docs/iodc.pdf">IODC 1.1</a>
256: <li><a href="http://ftp.parisc-linux.org/docs/ver_nums.pdf">Version and Identification Number Allocation</a>
257: <li><a href="http://ftp.parisc-linux.org/docs/data_formats.pdf">Memory Data Formats 2.0</a>
258: <li><a href="http://ftp.parisc-linux.org/docs/pdc.pdf">PDC Procedures 2.0</a>
259: <li><a href="http://ftp.parisc-linux.org/docs/pdce.pdf">PDC Entry Points 2.0</a>
260: <li><a href="http://ftp.parisc-linux.org/docs/os_interface.pdf">OS Interface 2.0</a>
1.38 mickey 261: </ol>
1.74 ! miod 262: <li>Bus controllers/bridges/adaptors
1.38 mickey 263: <ol type=a>
1.66 jufi 264: <li><a href="http://ftp.parisc-linux.org/docs/hardball_ers.pdf">ASP</a>
265: <li><a href="http://ftp.parisc-linux.org/docs/lasi_ers.ps">LASI Core Bus Adapter (including lan, scsi, serial, lpt controllers)</a>
266: <li><a href="http://ftp.parisc-linux.org/docs/dino_ers.ps">Dino PCI bridge</a>,
267: and <a href="http://ftp.parisc-linux.org/docs/Dino_3_1_Errata.html">Errata</a>
268: <li><a href="http://ftp.parisc-linux.org/docs/elroy_ers.ps">Elroy ERS (Edited for Open Source)</a>
269: <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 270: </ol>
1.74 ! miod 271: <li><a href="http://ftp.parisc-linux.org/docs/sti.pdf">Stinger
! 272: graphics</a>
! 273: <li><a href="http://www.lsilogic.com/techlib/techdocs/old_storage/770_2_0.pdf">NCR
! 274: 53C700/710/720 SCSI I/O Processors</a>
1.40 mickey 275: <small>(the doc is actually for 770, which is claimed as compatible)</small>
1.74 ! miod 276: <li>Intel
! 277: <a href="http://developer.intel.com/design/network/datashts/290219.htm">i82596DX/SX</a>
! 278: and
! 279: <a href="http://developer.intel.com/design/network/datashts/290218.htm">i82596CA</a>
! 280: Ethernet Controllers
1.38 mickey 281: </ol>
1.74 ! miod 282: </p>
! 283:
! 284: <p>
! 285: Of course, no hppa page, be it OpenBSD or not, could pretend to be serious
! 286: without linking to the essential <a href="http://www.openpa.net/">OpenPA</a>
! 287: reference website.
! 288: </p>
1.38 mickey 289:
1.64 mickey 290: <hr>
1.74 ! miod 291: <a name="install"></a>
! 292: <h3><font color="#0000e0">
! 293: <strong>Getting and installing OpenBSD/hppa:</strong>
! 294: </font></h3>
1.64 mickey 295:
1.74 ! miod 296: <!-- not yet kiddies
1.18 mickey 297: <p>
1.74 ! miod 298: The latest supported OpenBSD/hppa release is
! 299: <a href="32.html">OpenBSD 3.2</a>.
! 300: Here are the
! 301: <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/3.2/hppa/INSTALL.hppa">
! 302: OpenBSD/hppa 3.2 installation instructions
! 303: </a>.
! 304: </p>
! 305: -->
1.66 jufi 306:
1.18 mickey 307: <p>
1.74 ! miod 308: Snapshots are made available from time to time, in
! 309: <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/snapshots/hppa">this location</a>
! 310: as well as in a few
! 311: <a href="ftp.html">mirrors</a>.
! 312: Here are the
! 313: <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/snapshots/hppa/INSTALL.hppa">
! 314: OpenBSD/hppa snapshot installation instructions
! 315: </a> as well.
1.15 mickey 316: </p>
1.74 ! miod 317:
1.3 fn 318: <hr>
1.74 ! miod 319: <a name="#netboot"></a>
! 320: <h3><font color="#0000e0"><strong>Netbooting OpenBSD/hppa:</strong></font></h3>
! 321:
! 322: <p>
! 323: The <tt>boot.lif</tt> file contains both a bootloader and a kernel.
! 324: To boot it from the network, a server machine has to be setup so as to
! 325: let the hppa machine retrieve it:
1.45 miod 326: <ol>
1.66 jufi 327: <li>Server setup
1.45 miod 328: <ul>
1.74 ! miod 329: <li>For older machines (705, 7[1235]0, old 715)
! 330: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rbootd&sektion=8">rbootd</a>
! 331: must be setup and started.
1.45 miod 332: <ul>
1.74 ! miod 333: <li><tt>/etc/rbootd.conf</tt> contains a single line per machine
! 334: needing to boot from the server. Each line contains the ethernet
! 335: address of the client hppa machine, and the filename to be loaded from
! 336: the tftp server (relative to <tt>/usr/mdec/rbootd</tt>).
! 337: For example:
1.28 todd 338: <pre>
1.66 jufi 339: 8:0:9:70:c4:11 <a href="#boot_lif">boot.lif</a> # 9000/720
340: 8:0:9:19:fb:a0 <a href="#boot_lif">boot.lif</a> # 9000/725
1.28 todd 341: </pre>
1.45 miod 342: </li>
343: </ul>
344: </li>
1.74 ! miod 345: <li>Recent machines (712, newer 715, 725) will not look for rbootd at all,
! 346: but instead require a <b>bootp</b> setup.
1.45 miod 347: <ul>
1.74 ! miod 348: <li><tt>/etc/<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=bootptab&sektion=5">bootptab</a></tt>
! 349: contains an information block for each machine. For example:
1.45 miod 350: <pre>
351: # 9000/715
1.49 miod 352: boron:\
1.45 miod 353: ha=0800095f5a6e:\
354: bf=boot.lif:\
355: hd=:\
356: ht=ethernet:\
1.52 miod 357: ip=10.0.1.143:\
1.53 mickey 358: rp=/usr/local/exports/boron/root:\
1.45 miod 359: sm=255.255.255.0:\
360: td=/tftpboot:
361: </pre>
362: </li>
1.48 mickey 363: <li>
1.74 ! miod 364: Create directory <tt>/tftpboot</tt> and put the
! 365: <tt><a href="#boot_lif">boot.lif</a></tt> file in it.<br>
1.48 mickey 366: </li>
367: <li>
1.74 ! miod 368: Write an entry for the hppa in <tt>/etc/ethers</tt>:
1.48 mickey 369: <pre>
1.49 miod 370: 08:00:09:5f:5a:6e boron
1.48 mickey 371: </pre>
372: </li>
373: <li>
1.74 ! miod 374: Write another entry for it in <tt>/etc/hosts</tt>:
1.48 mickey 375: <pre>
1.52 miod 376: 10.0.1.143 boron
1.48 mickey 377: </pre>
378: </li>
379: <li>
1.74 ! miod 380: Create directory <tt>/usr/local/exports/boron/root</tt> and unpack
! 381: at least <tt>base32.tgz</tt> and <tt>etc32.tgz</tt> in it.
! 382: </li>
! 383: <li>
! 384: After the sets are unpacked, create device nodes in <tt>dev/</tt> by
! 385: running <tt>MAKEDEV</tt> and alter the configuration files in
! 386: <tt>/etc</tt> (refer to the installation notes for details).
1.48 mickey 387: </li>
388: <li>
1.74 ! miod 389: Finally, add an entry to <tt>/etc/exports</tt> in order to export
! 390: the root directory to the client:
1.48 mickey 391: <pre>
1.49 miod 392: /usr/local/exports/boron/root boron
1.48 mickey 393: </pre>
1.74 ! miod 394: You might want to also create and export a swap area.
1.48 mickey 395: </li>
396: <li>
1.74 ! miod 397: The last step is to enable the necessary daemons for all of this to
! 398: work.
! 399: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=bootpd&sektion=8">bootpd</a>
! 400: and
! 401: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=tftpd&sektion=8">tftpd</a>
! 402: are usually run from
! 403: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=inetd&sektion=8">inetd</a>,
! 404: so <tt>/etc/inetd.conf</tt> has to be modified and
! 405: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=inetd&sektion=8">inetd</a>
! 406: restarted.
1.51 mickey 407: </li>
1.48 mickey 408: <li>
1.74 ! miod 409: For proper NFS server operation,
! 410: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=portmap&sektion=8">portmap</a>,
! 411: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=mountd&sektion=8">mountd</a>
! 412: and
! 413: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=nfsd&sektion=8">nfsd</a>
! 414: need to be enabled, as well as
! 415: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rarpd&sektion=8">rarpd</a>
! 416: and
! 417: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rpc.bootparamsd&sektion=8">rpc.bootparamsd</a>
! 418: in
! 419: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rc.conf&sektion=5">rc.conf</a>.
1.48 mickey 420: </li>
421: </ul>
1.45 miod 422: </li>
1.74 ! miod 423: <li>For further reading on server setup for network booting in general,
! 424: please refer to the
! 425: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&sektion=8">diskless(8)</a>
! 426: manual page.
! 427: </li>
1.45 miod 428: </ul>
1.66 jufi 429: <p>
430: <li>Client Network Boot
1.45 miod 431: <ul>
432: <li>BOOT_ADMIN<br>
1.74 ! miod 433: In order to get to the BOOT_ADMIN prompt, hit the <em><esc></em>
! 434: key as the machine is coming up. Once it has probed bootable devices,
! 435: a menu will be displayed; if the prompt is <i>not</i> <b>BOOT_ADMIN</b>,
! 436: it will be necessary to type <i>``a''</i> to access it.
1.28 todd 437: </li>
1.74 ! miod 438: <li>Network boot command<br>
! 439: Once at the 'BOOT_ADMIN' prompt, the command
1.28 todd 440: <pre>
441: BOOT_ADMIN> boot lan isl
442: </pre>
1.74 ! miod 443: will proceed to the bootstrap of boot.lif.
1.66 jufi 444: </ul>
1.74 ! miod 445: </li>
1.28 todd 446: </ol>
1.74 ! miod 447: </p>
! 448:
1.28 todd 449: <hr>
1.74 ! miod 450: <a name="#cross"></a>
! 451: <h3><font color="#0000e0"><strong>Cross-compiling kernels:</strong></font></h3>
! 452:
! 453: <p>
! 454: The OpenBSD source tree provides some cross-compilation facilities.
! 455: First, a set of hppa cross tools (cross compiler, cross binutils, etc) must
! 456: be created:
! 457: <pre>
! 458: # cd /usr/src
! 459: # make TARGET=hppa cross-includes cross-binutils cross-gcc
! 460: </pre>
! 461: This will build and install the various utilities in <tt>/usr/cross/hppa</tt>.
! 462: Note that this step must be run as root, or using
! 463: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sudo&sektion=8">sudo</a>.
! 464: </p>
! 465:
! 466: <a name="boot_lif"></a>
! 467: <h4>Building boot.lif using cross-tools</h4>
! 468:
! 469: <p>
! 470: <ul>
! 471: <li>Building <i>mkboot</i>
! 472: <p>
! 473: mkboot is the only specific host tool needed for the boot.lif build.
! 474: <pre>
! 475: $ cd /usr/src/sys/arch/hppa/stand/mkboot
! 476: $ MACHINE=hppa make obj depend all
! 477: </pre>
! 478: </p></li>
! 479: <li>Building the kernel
! 480: <p>
! 481: The kernel can be configured as usual, and then built using the cross-tools.
! 482: <pre>
! 483: $ cd /usr/src/sys/arch/hppa/conf
! 484: $ config GENERIC
! 485: $ cd /usr/src/sys/arch/hppa/compile/GENERIC
! 486: $ export CROSS=/usr/cross/hppa/usr/bin
! 487: $ env MACHINE=hppa MACHINE_ARCH=hppa \
! 488: AR=$CROSS/ar AS=$CROSS/as CC=$CROSS/cc CPP=$CROSS/cpp LD=$CROSS/ld \
! 489: NM=$CROSS/nm RANLIB=$CROSS/ranlib SIZE=$CROSS/size STRIP=$CROSS/strip \
! 490: make depend bsd
! 491: </pre>
! 492: </p></li>
! 493: <li>Build boot.lif
! 494: <p>With the kernel compiled, the boot loader can now be compiled and the
! 495: lif file generated.
! 496: <pre>
! 497: $ cd /usr/src/sys/arch/hppa/stand
! 498: $ export CROSS=/usr/cross/hppa/usr/bin
! 499: $ env MACHINE=hppa MACHINE_ARCH=hppa \
! 500: AR=$CROSS/ar AS=$CROSS/as CC=$CROSS/cc CPP=$CROSS/cpp LD=$CROSS/ld \
! 501: NM=$CROSS/nm RANLIB=$CROSS/ranlib SIZE=$CROSS/size STRIP=$CROSS/strip \
! 502: make SKIPDIR=mkboot obj depend all
! 503: </pre>
! 504: </p></li>
! 505: </ul>
! 506: The final boot.lif file stands in
! 507: <tt>/usr/src/sys/arch/hppa/boot/obj/boot.lif</tt>
! 508: </p>
! 509:
! 510: <hr>
! 511: <a href="plat.html">
! 512: <img height="24" width="24" src="back.gif" border="0" alt="Supported platforms">
! 513: </a>
1.3 fn 514: <br>
1.74 ! miod 515: <small><a href="mailto:www@openbsd.org">www@openbsd.org</a></small>
! 516: <br>
! 517: <small>$OpenBSD$</small>
1.3 fn 518: </body>
519: </html>