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 email@example.com 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) --- firstname.lastname@example.org http://www.tt.rim.or.jp/~yamamori/sun/index_e.html