sun-rbootd-1.2.1

  The sun-rbootd works on SunOS4/Solaris2 for NetBSD/hp300, OpenBSD/hp300
  (using NIT or DLPI, not BPF)
  And also works on NEWS-OS4, NetBSD, OpenBSD and Linux
                                                                 Aug 21 1998
						       yamamori@kt.rim.or.jp

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.

  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), BPF(NEWS-OS,NetBSD,OpenBSD),
		  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 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 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)
    (Please refer SunOS on-line man pages)

    # sun-rbootd -a  # for normal daemon mode


Works on:
  Boot server:
    SunOS 4.x
    Solaris 2.x    (tested on SPARC)
    NEWS-OS 4.x    (tested on both RISC and CISC Sony-NEWS)
    NetBSD         (tested on hp300 and SPARC)
    OpenBSD        (tested on hp300 and SPARC)
    Linux          (tested on SPARC)

  Diskless client:
    NetBSD/hp300   (tested on HP9000/300 and HP9000/345)
    OpenBSD/hp300  (tested on HP9000/300 and HP9000/345)

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