sun-rbootd-1.3.2

  The sun-rbootd for NetBSD/hp300, OpenBSD/hp300
  works on SunOS4/Solaris2/NEWS-OS4/HP-UX/Linux/NetBSD/OpenBSD/FreeBSD
  (using NIT DLPI, LLA, BPF, old-BPF or SOCK_PACKET)
                                                                 Mar 13 1999
                                                       yamamori@kt.rim.or.jp

Mar 13 1999 Release ver 1.3.2
  Works on FreeBSD.
  fix select() for NetBSD.
  fix Makefile for Solaris 2.x

Dec 12 1998 Release ver 1.3.1
  Also works on HP-UX 9 (LLA).
  Correct ethernet address for NetBSD/OpenBSD.
  Output "my_addr" on debug mode.

Sep 29 1998 Release ver 1.3
  Now, it works on HP-UX 10 (DLPI).

Sep 26 1998 Release ver 1.2.2
  The bug "hitting any key causes infinite boot file listing" is fixed.
  Works on the platform lacking ether_ntohost() (i.e. slackware Linux)
  Can be compiled by K&R cc (not only gcc).

Aug 21 1998 Release ver 1.2.1
  Correcting byte order for Linux/x86. (not tested)
  use read() instead of recvfrom() on Linux.

Aug 21 1998 Release ver 1.2
  Now, it works on NEWS-OS 4.x, Linux/sparc, and even on NetBSD/OpenBSD too.

Aug 15 1998 Release ver 1.1.2
  Add debugging output option.  Can specify ether interface by the option.
  (now, "sun-rbootd -a" is equivalent to previous version's "sun-rbootd")
  Some improvements.

Jul 20 1998 Release ver 1.1.1
  Some fixes. Correcting byte order for Solaris2/x86 to work (not tested).

Jul 18 1998 Release ver 1.1
  Works on Solaris 2.x(sparc) DLPI, too.

Jun 5 1998 Initial version
  Works on SunOS 4.x NIT.


The sun-rbootd was originally designed for non-BPF platform to boot hp300.
But now, it even works on BPF platform such as NetBSD/OpenBSD and NEWS-OS 4.x,
and SOCK_PACKET (linux).

  Note:
    * The BPF on NEWS-OS 4.x is an older implementation unlike other popular
      BPF.  So it has unfamiliar filter instruction such as LdHOp, EQOp
      instead of BPF_LD|BPF_H|BPF_ABS, BPF_JMP|BPF_JEQ|BPF_K,
      and the offset of jump instruction is different.

    * Linux seems not to have kernel/device level filter.
      So, we cannot help filtering packets on application level.


Contents:
  Makefile     : no need to modify for all platforms
  README       : This file
  README.jp    : README in Japanese
  sun-rbootd.c : RMP protocol program
  config.h     : contains #ifdef
  nitlib.h     : header for nitlib.c
  nitlib.c     : NIT(SunOS), DLPI(Solaris,HP-UX 10), LLA(HP-UX 9),
                 BPF(NEWS-OS,NetBSD,OpenBSD,FreeBSD)
		 and SOCK_PACKET(Linux) functions
  rmp.h        : NetBSD/OpenBSD original rbootd header
  rmp_var.h    : NetBSD/OpenBSD original rbootd header


Against the original NetBSD's rbootd, I made some changes on this
sun-rbootd as follows:
    * not use /etc/rbootd.conf but use /etc/ethers (or NIS ethers map)
    * put SYS_UBOOT (or SYS_INST) on /tftpboot instead of /usr/mdec/rbootd,
      and symlink to C0A8XXXX if client IP is 192.168.xx.xx.
      (like Sun's rarp/tftp)

How to make:
    Simply type "make" except on HP-UX 9 type "make hpux9".
    If your environment variables CC or CFLAGS are set
    like CC=gcc or CFLAGS=-O2, they will be used.

How to use:
    # mkdir /tftpboot
    # cp SYS_UBOOT /tftpboot
    # cd /tftpboot; ln -s SYS_UBOOT C0A8010A  # if client IP is 192.168.1.10

    Set up /etc/ethers and /etc/hosts, (and NIS make)

    # sun-rbootd -a  # for normal daemon mode

Note:
  if "-d" option is used, sun-rbootd works on debug mode, and in debug mode,
  sun-rbootd reads boot file from current directory rather than /tftpboot.

Thanks to:
  Michael Wolfson, gave me an HP-UX 10 and 9 accounts for porting, and many
  kindly assistance for developing sun-rbootd.


Works on:
  Boot server:
    SunOS 4.x
    Solaris 2.x/7  (SPARC, i386)
    NEWS-OS 4.x    (RISC-NEWS, CISC-NEWS)
    NetBSD 1.3.2   (SPARC, hp300, i386)
    OpenBSD 2.3    (SPARC, hp300, i386)
    FreeBSD 2.2.8  (i386)
    Linux kernel-2.0.x (SPARC, i386)
    HP-UX 9
    HP-UX 10

  Diskless client:
    NetBSD/hp300   (HP9000/318, HP9000/345)
    OpenBSD/hp300  (HP9000/318, HP9000/345)

---
yamamori@kt.rim.or.jp
http://www.tt.rim.or.jp/~yamamori/sun/index_e.html
