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

File: [local] / www / hppa.html (download) (as text)

Revision 1.70, Tue Nov 26 12:58:39 2002 UTC (21 years, 6 months ago) by mickey
Branch: MAIN
Changes since 1.69: +2 -2 lines

j210xc should be fine too

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>OpenBSD/hppa</title>
<link rev=made href="mailto:www@openbsd.org">
<meta name="resource-type" content="document">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="description" content="the OpenBSD/hppa page">
<meta name="keywords" content="openbsd,hppa">
<meta name="distribution" content="global">
<meta name="copyright" content="This document copyright 1996-2002 by OpenBSD.">
</head>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#23238E">
<a href="index.html"><img alt="[OpenBSD]" height="30" width="141" src="images/smalltitle.gif" border="0"></a>

<h2><font color="#e00000">hppa</font></h2>
<hr>

<h3><font color="#0000e0"><strong>Status and History:</strong></font></h3>
Systems boot to multi-user and full snapshots are made periodically.
There are several projects being under development to support
SCSI controllers and input devices,
to solve certain stability issues.
<p>
This project was started in those days when the only
open source operating systems for HP PA-RISC computers were
<a href="http://www.cs.utah.edu/projects/flux/lites/html">Lites</a> and
<a href="http://www.mklinux.org">MkLinux</a>.
These two sources were a major supply of information and
code for initial development of the OpenBSD/hppa port.
<a href="http://www.cs.utah.edu/~mike/hpbsd/hpbsd.html">HPBSD</a>
is encumbered by HP proprietary code and USL licensing and is
not publicly available.
One of the major direct benefits from previous porting efforts
(besides the code, of course ;) is
support for HP PA-RISC in GCC and binutils, which allowed quick
building of a cross-tools environment for development.
<p>
Later on HP decided to sponsor a
<a href="http://www.parisc-linux.org/">Linux</a> port to PA-RISC
machines which actually resulted in some proprietary documentation
release, even though they target a different class of 9000 machines.
<p>

<h3><font color="#0000e0"><strong>Supported Hardware:</strong></font></h3>

<ul>
<li>CPUs (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=intro&amp;sektion=4&amp;arch=hppa">intro</a> and (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=cpu&amp;sektion=4&amp;arch=hppa">cpu</a>)):
	<ul>
	<li>PA7000-based: 705, 710, 720, 730, 750 (currently under development)
	<li>PA7100-based: 715/33, 715/50, 715/75, 725/50, 725/75, 735/100, 755/100
	<li>PA7100LC-based: 712, 715/64, 715/80, 715/100, 715/100XC, 725/64, 725/100
	<li>PA7150-based: 735/125, 755/125
	<li>PA7200-based: J200, J210, J210XC
	</ul>
<li>bus/IO controllers:
	<ul>
	<li> GSC (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=gsc&amp;sektion=4&amp;arch=hppa">gsc</a>): LASI (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=lasi&amp;sektion=4&amp;arch=hppa">lasi</a>), ASP (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=asp&amp;sektion=4&amp;arch=hppa">asp</a>)
	</ul>
<li>SCSI controllers (currently under development):
	<ul>
	<li>NCR53C710 SCSI I/O Processors (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=osiop&amp;sektion=4">osiop</a>)
	<li>NCR53C720 SCSI I/O Processors (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=siop&amp;sektion=4">siop</a>)
	</ul>
<li>SGC/GSC graphics (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sti&amp;sektion=4">sti</a>):
	<ul>
	<li>Artist (as found on 712)
	<li>CRX-8, CRX-24, HCRX-8, HCRX-24
	</ul>
<li>RS-232 devices:
	<ul>
	<li>On-board ns16550 or similar (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=com&amp;sektion=4">com</a>)
	</ul>
<li>Input devices (currently under development):
	<ul>
	<li>PS/2 keyboard and mouse
	<li>HIL keyboard and mouse
	</ul>
</ul>
Systems which may work (eventually): 
<ul>
<li>PA2.0 systems (in 32-bit mode);
<li>HP 9000 834, 835, 836, 844, 845, 846;
<li>HP 9000 E23, E25, E35, E45, E55;
<li>HP 3000 908, 918, 928, 938;
<li>Hitachi VQ200, VQ210, and some other non-HP workstations;
<li>Precision Book from RDI Computer Corporation (well, unlikely)
<li>HP VME and VXI single board systems (requires VME at least)
</ul>
<br>
Hardware is needed for this project,
see <a href="want.html">"Wanted List"</a>
(contact <a href="mailto:mickey@openbsd.org">mickey</a>).

<h3><font color="#0000e0"><strong>Documentation</strong></font></h3>

<small>(most of which was released by HP for the
<a href="http://www.parisc-linux.org/">Linux/parisc</a> project)</small>:
<ol type=1>
<li>HP PA-RISC CPUs
	<ol type=a>
<li><a href="http://ftp.parisc-linux.org/docs/PCXL_ers.ps">PA7100LC CPU ERS</a>
<li><a href="http://ftp.parisc-linux.org/docs/pcxl2_ers.ps">PA7300LC CPU ERS</a>
	</ol>
<li><b>Processor Dependent Code/I/O Dependent Code Interface</b><br> <small>(selected chapters from "PA-RISC I/O Architecture Specification")</small>
	<ol type=a>
<li><a href="http://ftp.parisc-linux.org/docs/pdc32.pdf">PDC 1.1</a>
<li><a href="http://ftp.parisc-linux.org/docs/iodc.pdf">IODC 1.1</a>
<li><a href="http://ftp.parisc-linux.org/docs/ver_nums.pdf">Version and Identification Number Allocation</a>
<li><a href="http://ftp.parisc-linux.org/docs/data_formats.pdf">Memory Data Formats 2.0</a>
<li><a href="http://ftp.parisc-linux.org/docs/pdc.pdf">PDC Procedures 2.0</a>
<li><a href="http://ftp.parisc-linux.org/docs/pdce.pdf">PDC Entry Points 2.0</a>
<li><a href="http://ftp.parisc-linux.org/docs/os_interface.pdf">OS Interface 2.0</a>
	</ol>
<li><b>Bus controllers/bridges/adaptors</b>
	<ol type=a>
<li><a href="http://ftp.parisc-linux.org/docs/hardball_ers.pdf">ASP</a>
<li><a href="http://ftp.parisc-linux.org/docs/lasi_ers.ps">LASI Core Bus Adapter (including lan, scsi, serial, lpt controllers)</a>
<li><a href="http://ftp.parisc-linux.org/docs/dino_ers.ps">Dino PCI bridge</a>,
and <a href="http://ftp.parisc-linux.org/docs/Dino_3_1_Errata.html">Errata</a>
<li><a href="http://ftp.parisc-linux.org/docs/elroy_ers.ps">Elroy ERS (Edited for Open Source)</a>
<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>
	</ol>
<li><a href="http://ftp.parisc-linux.org/docs/sti.pdf">Stinger graphics</a>
<li><a href="http://www.lsilogic.com/techlib/techdocs/old_storage/770_2_0.pdf">NCR 53C700/710/720 SCSI I/O Processors</a>
    <small>(the doc is actually for 770, which is claimed as compatible)</small>
<li>Intel <a href="http://developer.intel.com/design/network/datashts/290219.htm">i82596DX/SX</a> and <a href="http://developer.intel.com/design/network/datashts/290218.htm">i82596CA</a> Ethernet Controllers
</ol>
Or see more information at <a href="http://www.openpa.net/">OpenPA</a>.

<hr>

<h3><font color="#0000e0"><strong>Building Cross-Tools</strong></font></h3>
<pre>
cd /usr/src
sudo make TARGET=hppa cross-tools
</pre>
<p>
cross-tools build process may fail in the libc stage, consider that's
all right, since libc support is not finished yet.

<a name="boot_lif"></a>
<h4>Build boot.lif file using cross-tools:</h4>
<p>
<pre>
cd /sys/arch/hppa/stand
make obj
set cross=(/usr/cross/hppa/usr/bin)
make MACHINE=hppa MACHINE_ARCH=hppa \
	"AS=$cross/as" "CC=$cross/cc" "CXX=$cross/c++" \
	"CPP=$cross/cpp" "LD=$cross/ld" \
	"AR=$cross/ar" "STRIP=$cross/strip" \
	"LORDER=$cross/lorder" "NM=$cross/nm" \
	"RANLIB=$cross/ranlib" "SIZE=$cross/size"
</pre>

<p>
One will have a <a href="http://hppa.lucifier.net/#boot_lif"><em>boot.lif</em></a>
file to boot then in the obj-directory.
That image may include <em>diskless</em> kernel image if one was available
in the <em>sys/arch/hppa/compile/SHEPHERD_PIE/bsd</em>.
<br>
Kernel cross-build process is similar to the one for boot, consult
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=config&amp;apropos=0&amp;sektion=0
&amp;manpath=OpenBSD+Current&amp;format=html">config(8)</a>
and
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=options&amp;apropos=0&amp;sektion=0&amp;manpath=OpenBSD+Current&amp;format=html">options(8)</a>
for kernel build options and configuration.
</p>
<hr>
In order to use the <a href="http://hppa.lucifier.net/#boot_lif">boot.lif</a> files
you must prepare your server and instruct your machine to boot off the network:
<ol>
  <li>Server setup
    <ul>
    <li> For older machines (705, 7[1235]0, old 715)
	<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rbootd&amp;apropos=0&amp;sektion=0&amp;manpath=OpenBSD+Current&amp;format=html">rbootd</a> must be setup and started.<br>
      <ul>
      <li><b>/etc/<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rbootd&amp;apropos=0&amp;sektion=0&amp;manpath=OpenBSD+Current&amp;format=html">rbootd</a>.conf</b>
contains a single line per machine you entered to boot from the server.
Each line contains the ethernet address of the client hppa machine, and
the filename to be loaded from the tftp server.  For example:
	<pre>
	8:0:9:70:c4:11    <a href="#boot_lif">boot.lif</a>    # 9000/720
	8:0:9:19:fb:a0    <a href="#boot_lif">boot.lif</a>    # 9000/725
	</pre>
      </li>
      </ul>
    </li>
    <li>Recent machines (712, new 715, 725) won't look for rbootd at all, but require a
<b>bootp</b> setup.<br>
      <ul>
      <li><b>/etc/<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=bootptab&amp;apropos=0&amp;sektion=5&amp;manpath=OpenBSD+Current&amp;format=html">bootptab</a></b> contains an information block for each machine.  For example:
	<pre>
	# 9000/715
	boron:\
        	ha=0800095f5a6e:\
        	bf=boot.lif:\
        	hd=:\
        	ht=ethernet:\
        	ip=10.0.1.143:\
        	rp=/usr/local/exports/boron/root:\
        	sm=255.255.255.0:\
        	td=/tftpboot:
	</pre>
      </li>
	<li>
	Create directory /tftpboot and put the <a href="#boot_lif">boot.lif</a> in it.<br> 
	</li>
	<li>
	Write an entry for your hppa in the <b>/etc/ethers</b> file:<br> 
	<pre>
	08:00:09:5f:5a:6e	boron
	</pre>  
	</li>
	<li>
	Write an entry for 'boron' in the <b>/etc/hosts</b> file:<br> 
	<pre>
	10.0.1.143	boron
	</pre>  
	</li>
	<li>
	Create directory /usr/local/exports/boron/root and put <a href="http://hppa.lucifier.net/root/dev/MAKEDEV">/dev/MAKEDEV</a>,
	 <a href="http://hppa.lucifier.net/root/sbin/init">/sbin/init</a>, <a href="http://hppa.lucifier.net/root/bin/ksh">/bin/ksh</a>		
	 in their relative locations. 
	</li>
	<li>
	Write an entry in <b>/etc/exports</b> so the root directory gets exported to the client:
	<pre>
	/usr/local/exports/boron/root boron
	</pre>  
	</li>
	<li>
	Remember you will have to enable <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=bootpd&amp;apropos=0&amp;sektion=8&amp;manpath=OpenBSD+Current&amp;format=html">bootpd</a>
	 and <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=tftpd&amp;apropos=0&amp;sektion=8&amp;manpath=OpenBSD+Current&amp;format=html">tftpd</a>
		in /etc/inetd.conf, and restart <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=inetd&amp;apropos=0&amp;sektion=8&amp;manpath=OpenBSD+Current&amp;format=html">inetd</a>.
      
	</li>
      	<li>
	Also remember to enable <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=nfsd&amp;apropos=0&amp;sektion=8&amp;manpath=OpenBSD+Current&amp;format=html">nfs_server</a>
	, <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rarpd&amp;apropos=0&amp;sektion=8&amp;manpath=OpenBSD+Current&amp;format=html">rarpd</a> 

	and <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=portmap&amp;apropos=0&amp;sektion=8&amp;manpath=OpenBSD+Current&amp;format=html">portmap</a> 
	in <a
href="http://www.openbsd.org/cgi-bin/man.cgi?query=rc.conf&amp;apropos=0&amp;sektion=8&amp;manpath=OpenBSD+Current&amp;format=html">/etc/rc.conf</a>.
	</li>
	</ul>
    </li>
    <li>For further reading on server setup for network booting in general, see also: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&amp;apropos=0&amp;sektion=0&amp;manpath=OpenBSD+Current&amp;format=html">diskless(8)</a>.</li>
    </ul>
 <p>
  <li>Client Network Boot
  <ul>
    <li>BOOT_ADMIN<br>
	In order to get to the BOOT_ADMIN prompt, you must hit <em>&lt;esc&gt;</em> as the
	machine is coming up.  Once it probes bootable devices, type 'a' for
	the 'BOOT_ADMIN' prompt.
    </li>
    <li>network boot command 
	Once at the 'BOOT_ADMIN' prompt, type:
<pre>
	BOOT_ADMIN> boot lan isl
</pre>
  </ul>
	... and you are on your way to booting boot.lif!
    </li>
</ol>
<hr>
<a href="plat.html"><img height=24 width=24 src="back.gif" border=0 alt=OpenBSD></a> 
<a href="mailto:www@openbsd.org">www@openbsd.org</a>
<br>
<small>$OpenBSD: hppa.html,v 1.70 2002/11/26 12:58:39 mickey Exp $</small>

</body>
</html>