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

Annotation of www/hppa.html, Revision 1.77

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>
                     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&amp;sektion=4&amp;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&amp;sektion=4&amp;arch=hppa">phantomas</a>)
                    152:   <li>GSC
                    153: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=gsc&amp;sektion=4&amp;arch=hppa">gsc</a>):
                    154:   LASI
                    155: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=lasi&amp;sektion=4&amp;arch=hppa">lasi</a>),
                    156:   ASP
                    157: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=asp&amp;sektion=4&amp;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&amp;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&amp;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&amp;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&amp;sektion=4&amp;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&amp;sektion=4">osiop</a>)
                    223:   <li>NCR53C720 SCSI I/O Processors
                    224: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=siop&amp;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.75      miod      319: <a name="netboot"></a>
1.74      miod      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&amp;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&amp;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
1.76      mickey    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.76      mickey    371:        </pre>
1.48      mickey    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.76      mickey    377:        </pre>
1.48      mickey    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.76      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&amp;sektion=8">bootpd</a>
                    400:        and
                    401:        <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=tftpd&amp;sektion=8">tftpd</a>
                    402:        are usually run from
                    403:        <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=inetd&amp;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&amp;sektion=8">inetd</a>
                    406:        restarted.
1.51      mickey    407:        </li>
1.76      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&amp;sektion=8">portmap</a>,
                    411:        <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=mountd&amp;sektion=8">mountd</a>
                    412:        and
                    413:        <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=nfsd&amp;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&amp;sektion=8">rarpd</a>
                    416:        and
                    417:        <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rpc.bootparamsd&amp;sektion=8">rpc.bootparamsd</a>
                    418:        in
                    419:        <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rc.conf&amp;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&amp;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>&lt;esc&gt;</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.75      miod      450: <a name="cross"></a>
1.74      miod      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&amp;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
1.75      miod      476: $ env MACHINE=hppa make obj
                    477: $ env MACHINE=hppa make depend all
1.74      miod      478:   </pre>
                    479:   </p></li>
                    480:   <li>Building the kernel
                    481:   <p>
                    482:   The kernel can be configured as usual, and then built using the cross-tools.
                    483:   <pre>
                    484: $ cd /usr/src/sys/arch/hppa/conf
                    485: $ config GENERIC
                    486: $ cd /usr/src/sys/arch/hppa/compile/GENERIC
                    487: $ export CROSS=/usr/cross/hppa/usr/bin
                    488: $ env MACHINE=hppa MACHINE_ARCH=hppa \
                    489:   AR=$CROSS/ar AS=$CROSS/as CC=$CROSS/cc CPP=$CROSS/cpp LD=$CROSS/ld \
                    490:   NM=$CROSS/nm RANLIB=$CROSS/ranlib SIZE=$CROSS/size STRIP=$CROSS/strip \
                    491:   make depend bsd
                    492:   </pre>
                    493:   </p></li>
                    494:   <li>Build boot.lif
                    495:   <p>With the kernel compiled, the boot loader can now be compiled and the
                    496:   lif file generated.
                    497:   <pre>
                    498: $ cd /usr/src/sys/arch/hppa/stand
                    499: $ export CROSS=/usr/cross/hppa/usr/bin
1.75      miod      500: $ env MACHINE=hppa make SKIPDIR=mkboot obj
1.74      miod      501: $ env MACHINE=hppa MACHINE_ARCH=hppa \
                    502:   AR=$CROSS/ar AS=$CROSS/as CC=$CROSS/cc CPP=$CROSS/cpp LD=$CROSS/ld \
                    503:   NM=$CROSS/nm RANLIB=$CROSS/ranlib SIZE=$CROSS/size STRIP=$CROSS/strip \
1.75      miod      504:   make SKIPDIR=mkboot depend all
1.74      miod      505:   </pre>
                    506:   </p></li>
                    507: </ul>
                    508: The final boot.lif file stands in
1.77    ! miod      509: <tt>/usr/src/sys/arch/hppa/stand/boot/obj/boot.lif</tt>
1.74      miod      510: </p>
                    511:
                    512: <hr>
                    513: <a href="plat.html">
                    514: <img height="24" width="24" src="back.gif" border="0" alt="Supported platforms">
1.76      mickey    515: </a>
1.3       fn        516: <br>
1.74      miod      517: <small><a href="mailto:www@openbsd.org">www@openbsd.org</a></small>
                    518: <br>
1.77    ! miod      519: <small>$OpenBSD: hppa.html,v 1.76 2003/01/05 00:28:39 mickey Exp $</small>
1.3       fn        520: </body>
                    521: </html>