=================================================================== RCS file: /cvsrepo/anoncvs/cvs/www/hppa.html,v retrieving revision 1.73 retrieving revision 1.74 diff -c -r1.73 -r1.74 *** www/hppa.html 2002/12/19 03:10:00 1.73 --- www/hppa.html 2002/12/31 16:15:26 1.74 *************** *** 1,28 **** ! OpenBSD/hppa ! ! ! [OpenBSD] -

hppa


-

Status and History:

- 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.

This project was started in those days when the only open source operating systems for HP PA-RISC computers were Lites and --- 1,64 ---- ! OpenBSD/hppa ! + ! [OpenBSD] +

+

OpenBSD/hppa


+ OpenBSD/hppa runs on a large set of the 32-bit Hewlett Packard Precision + Architecture workstations and servers (HP PA-RISC). +

+ +

+ A mailing list dedicated to the OpenBSD/hppa port is available at + hppa@openbsd.org. + To join the OpenBSD/hppa mailing list, send a message body of "subscribe + hppa" to majordomo@openbsd.org. + Please be sure to check our mailing list policy before + subscribing. +

+ +

+ The current port maintainer is + Michael Shalayeff. + Others are definitely welcome to contribute! +

+ + +

Table of contents

+

+

+

+ +
+ +

History:

+ +

This project was started in those days when the only open source operating systems for HP PA-RISC computers were Lites and *************** *** 33,110 **** 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.

! Later on HP decided to sponsor a ! Linux port to PA-RISC ! machines which actually resulted in some proprietary documentation ! release, even though they target a different class of 9000 machines.

!

Supported Hardware:

! Systems which may work (eventually): !
! Hardware is needed for this project, ! see "Wanted List" (contact mickey). !

Documentation

! (most of which was released by HP for the ! Linux/parisc project):
  1. HP PA-RISC CPUs
    1. PA7100LC CPU ERS
    2. PA7300LC CPU ERS
    !
  2. Processor Dependent Code/I/O Dependent Code Interface
    (selected chapters from "PA-RISC I/O Architecture Specification")
    1. PDC 1.1
    2. IODC 1.1 --- 69,255 ---- 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) was support for HP PA-RISC in GCC and ! binutils, which allowed quick building of a cross-tools environment ! for development. !

      !

      ! Later on, Hewlett-Packard decided to sponsor a ! Linux port to the PA-RISC ! family, which actually resulted in some proprietary documentation ! being released, even though their target was a different class of 9000 ! machines back then. !

      ! !
      ! !

      Current status:

      !

      + Although there have been no official releases of this port yet, + the supported systems boot to multi-user and full snapshots are made + periodically. +

      !

      ! Currently, no storage devices are supported, so the only way to run this ! port is in a diskless environment. !

      +
      + +

      Projects (in no particular order): +

      + +

        !
      • Improve overall stability !
      • Support the on-board SCSI controller (NCR 53c7xx) !
      • Standalone boot blocks (once SCSI support is ready) !
      • Support keyboard and mouse (PS/2 and HIL) natively !
      • Improve port-specific documentation !
      • X11 support
      !

      ! !
      ! !

      Supported hardware:

      ! !

      !

      Supported models

      !

      ! !

        !
      • PA7100-based: 715/33, 715/50, 715/75, 725/50, 725/75, 735/100, 755/100 !
      • PA7100LC-based: 712, 715/64, 715/80, 715/100, 715/100XC, 725/64, 725/100 !
      • PA7150-based: 735/125, 755/125 !
      • PA7200-based: J200, J210, J210XC, C100, C110
      !

      ! !

      !

      Supported peripherals

      !

      ! !

      ! The list of supported hardware below is not meant to be exhaustive. ! Hardware is needed for developers, to further help development and testing. ! Please see our "Wanted List" (contact mickey). +

      !

      !

        !
      • ! Bus/IO ! controllers ! !
      • SGC/GSC graphics ! (sti) !
          !
        • Artist (as found on 712) !
        • CRX-8, CRX-24, HCRX-8, HCRX-24 !
        !
      • Serial ports !
          !
        • On-board ns16550 or similar ! (com) !
        !
      • Parallel ports !
          !
        • On-board parallel port ! (lpt) !
        !
      • Ethernet !
          !
        • On-board Intel i82596 ethernet ! (ie) !
        !
      • Miscellaneous devices !
          !
        • Battery-backed real time clock !
        • Keyboard console (via PDC support) !
        !
      !

      !

      !

      Unsupported models

      !

      ! !

      ! The following systems may eventually work: !

        !
      • PA7000-based machines: 705, 710, 720, 730, 750 !
      • PA2.0 systems (in 32-bit mode) !
      • HP 9000 834, 835, 836, 844, 845, 846 !
      • HP 9000 E23, E25, E35, E45, E55 !
      • HP 3000 908, 918, 928, 938 !
      • Hitachi VQ200, VQ210, and some other non-HP workstations !
      • Precision Book from RDI Computer Corporation (well, unlikely) !
      • HP VME and VXI single board systems (requires VME at least) !
      !

      ! !

      !

      Unsupported peripherals

      !

      ! !

      ! This list is not meant to be exhaustive either, but sums up the most commonly ! encountered devices on hppa machines. !

        !
      • Bus/IO controllers !
          !
        • EISA bus !
        • PCI bus !
        !
      • SCSI controllers !
          !
        • NCR53C710 SCSI I/O Processors ! (osiop) !
        • NCR53C720 SCSI I/O Processors ! (siop) !
        !
      • Input devices !
          !
        • PS/2 keyboard and mouse !
        • HIL keyboard and mouse !
        !
      • On-board floppy controller !
      • On-board audio !
      !

      ! !
      ! !

      Hardware documentation:

      ! !

      ! Most of the following documents have been released by Hewlett-Packard for ! the PA-RISC Linux project. !

      ! !

      1. HP PA-RISC CPUs
        1. PA7100LC CPU ERS
        2. PA7300LC CPU ERS
        !
      2. Processor Dependent Code/I/O Dependent Code Interface
        (selected chapters from "PA-RISC I/O Architecture Specification")
        1. PDC 1.1
        2. IODC 1.1 *************** *** 114,120 ****
        3. PDC Entry Points 2.0
        4. OS Interface 2.0
        !
      3. Bus controllers/bridges/adaptors
        1. ASP
        2. LASI Core Bus Adapter (including lan, scsi, serial, lpt controllers) --- 259,265 ----
        3. PDC Entry Points 2.0
        4. OS Interface 2.0
        !
      4. Bus controllers/bridges/adaptors
        1. ASP
        2. LASI Core Bus Adapter (including lan, scsi, serial, lpt controllers) *************** *** 123,187 ****
        3. Elroy ERS (Edited for Open Source)
        4. Astro Overview, Error handling,R2I Operations, Registers Map, Runway Interface, System Mamory Map
        !
      5. Stinger graphics !
      6. NCR 53C700/710/720 SCSI I/O Processors (the doc is actually for 770, which is claimed as compatible) !
      7. Intel i82596DX/SX and i82596CA Ethernet Controllers
      ! Or see more information at OpenPA.
      !

      Building Cross-Tools

      !
      ! cd /usr/src
      ! sudo make TARGET=hppa cross-tools
      ! 

      ! cross-tools build process may fail in the libc stage, consider that's ! all right, since libc support is not finished yet. - -

      Build boot.lif file using cross-tools:

      !

      ! 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"
      ! 
      ! !

      ! One will have a boot.lif ! file to boot then in the obj-directory. ! That image may include diskless kernel image if one was available ! in the sys/arch/hppa/compile/SHEPHERD_PIE/bsd. !
      ! Kernel cross-build process is similar to the one for boot, consult ! config(8) ! and ! options(8) ! for kernel build options and configuration.


      ! In order to use the boot.lif files ! you must prepare your server and instruct your machine to boot off the network:
      1. Server setup
      !
    3. Stinger ! graphics !
    4. NCR ! 53C700/710/720 SCSI I/O Processors (the doc is actually for 770, which is claimed as compatible) !
    5. Intel ! i82596DX/SX ! and ! i82596CA ! Ethernet Controllers
    !

    +

    + Of course, no hppa page, be it OpenBSD or not, could pretend to be serious + without linking to the essential OpenPA + reference website. +

    +
    + +

    + Getting and installing OpenBSD/hppa: +

    !

    ! Snapshots are made available from time to time, in ! this location ! as well as in a few ! mirrors. ! Here are the ! ! OpenBSD/hppa snapshot installation instructions ! as well.

    +
    ! !

    Netbooting OpenBSD/hppa:

    ! !

    ! The boot.lif file contains both a bootloader and a kernel. ! To boot it from the network, a server machine has to be setup so as to ! let the hppa machine retrieve it:

    1. Server setup
        !
      • For older machines (705, 7[1235]0, old 715) ! rbootd ! must be setup and started.
          !
        • /etc/rbootd.conf contains a single line per machine ! needing 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 (relative to /usr/mdec/rbootd). ! For example:
            	8:0:9:70:c4:11    boot.lif    # 9000/720
            	8:0:9:19:fb:a0    boot.lif    # 9000/725
          ***************
          *** 189,198 ****
                  
      • !
      • Recent machines (712, new 715, 725) won't look for rbootd at all, but require a ! bootp setup.
          !
        • /etc/bootptab contains an information block for each machine. For example:
            	# 9000/715
            	boron:\
          --- 342,352 ----
                  
      • !
      • Recent machines (712, newer 715, 725) will not look for rbootd at all, ! but instead require a bootp setup.
          !
        • /etc/bootptab ! contains an information block for each machine. For example:
            	# 9000/715
            	boron:\
          ***************
          *** 207,277 ****
            	
        • ! Create directory /tftpboot and put the boot.lif in it.
        • ! Write an entry for your hppa in the /etc/ethers file:
            	08:00:09:5f:5a:6e	boron
            	
        • ! Write an entry for 'boron' in the /etc/hosts file:
            	10.0.1.143	boron
            	
        • ! Create directory /usr/local/exports/boron/root and put /dev/MAKEDEV, ! /sbin/init, /bin/ksh ! in their relative locations.
        • ! Write an entry in /etc/exports so the root directory gets exported to the client:
            	/usr/local/exports/boron/root boron
            	
        • ! Remember you will have to enable bootpd ! and tftpd ! in /etc/inetd.conf, and restart inetd. !
        • ! Also remember to enable nfs_server ! , rarpd ! ! and portmap ! in /etc/rc.conf.
      • !
      • For further reading on server setup for network booting in general, see also: diskless(8).

    2. Client Network Boot
      • BOOT_ADMIN
        ! In order to get to the BOOT_ADMIN prompt, you must hit <esc> as the ! machine is coming up. Once it probes bootable devices, type 'a' for ! the 'BOOT_ADMIN' prompt.
      • !
      • network boot command ! Once at the 'BOOT_ADMIN' prompt, type:
          	BOOT_ADMIN> boot lan isl
          
      ! ... and you are on your way to booting boot.lif! !

    ! OpenBSD ! www@openbsd.org !
    ! $OpenBSD: hppa.html,v 1.73 2002/12/19 03:10:00 mickey Exp $ --- 361,519 ----
  3. ! Create directory /tftpboot and put the ! boot.lif file in it.
  4. ! Write an entry for the hppa in /etc/ethers:
      	08:00:09:5f:5a:6e	boron
      	
  5. ! Write another entry for it in /etc/hosts:
      	10.0.1.143	boron
      	
  6. ! Create directory /usr/local/exports/boron/root and unpack ! at least base32.tgz and etc32.tgz in it.
  7. ! After the sets are unpacked, create device nodes in dev/ by ! running MAKEDEV and alter the configuration files in ! /etc (refer to the installation notes for details). !
  8. !
  9. ! Finally, add an entry to /etc/exports in order to export ! the root directory to the client:
      	/usr/local/exports/boron/root boron
      	
    + You might want to also create and export a swap area.
  10. ! The last step is to enable the necessary daemons for all of this to ! work. ! bootpd ! and ! tftpd ! are usually run from ! inetd, ! so /etc/inetd.conf has to be modified and ! inetd ! restarted.
  11. ! For proper NFS server operation, ! portmap, ! mountd ! and ! nfsd ! need to be enabled, as well as ! rarpd ! and ! rpc.bootparamsd ! in ! rc.conf.
  12. !
  13. For further reading on server setup for network booting in general, ! please refer to the ! diskless(8) ! manual page. !
  14. Client Network Boot !
+

+
! !

Cross-compiling kernels:

+

+ The OpenBSD source tree provides some cross-compilation facilities. + First, a set of hppa cross tools (cross compiler, cross binutils, etc) must + be created: +

+ # cd /usr/src
+ # make TARGET=hppa cross-includes cross-binutils cross-gcc
+ 
+ This will build and install the various utilities in /usr/cross/hppa. + Note that this step must be run as root, or using + sudo. +

+ + +

Building boot.lif using cross-tools

+ +

+

+ The final boot.lif file stands in + /usr/src/sys/arch/hppa/boot/obj/boot.lif +

+ +
+ + Supported platforms + +
+ www@openbsd.org +
+ $OpenBSD: hppa.html,v 1.74 2002/12/31 16:15:26 miod Exp $