The "sun-rbootd" is a boot server program for NetBSD/hp300 or OpenBSD/hp300. We need rbootd to get hp300 to network boot. The original rbootd program has been written using BPF. But, SunOS 4 or Solaris 2 have no BPF originally.
So I wrote down a new boot server program called "sun-rbootd" to work on SunOS 4.x NIT or Solaris 2.x DLPI.
Now it works on HP-UX 10 or 9, Linux, NEWS-OS 4.x and even on NetBSD/OpenBSD/FreeBSD !!
I hope you'll get your hp300 to boot from one of various platforms running this sun-rbootd.
"sun-rbootd" means sun like booting method using /etc/ethers and /tftpboot.
| OS | SunOS 4.x | Solaris 2.x/7 | NEWS-OS 4.x | NetBSD OpenBSD FreeBSD | HP-UX 10 | HP-UX 9 | Linux |
|---|---|---|---|---|---|---|---|
| raw network device | NIT | DLPI | old-BPF | BPF | DLPI | LLA | SOCK_PACKET |
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
|