RMP is not TCP/IP, and therefore cannot be passed on by routers (thus the stipulation that your client and the server(s) must be on the same subnet). It also means that your server must have device drivers that are able to send unspecified data to the ethernet. This is why there is a limited number of operating systems that can be rbootd servers. People have compiled versions of rbootd that use the bpf, pcap, nit, lla, and dlpi device drivers.
Setting up rbootd, NetBSD
Setting up rbootd, OpenBSD
Setting up rbootd, FreeBSD
Setting up rbootd, Mac OS X and Darwin
Setting up rbootd, Linux
Setting up rbootd, SunOS
Setting up rbootd, Solaris
Setting up rbootd, NEWS-OS 4
Setting up rbootd, HP-UX 7
Setting up rbootd, HP-UX 9
The native HP-UX 9 rbootd works, but is time
consuming to set up
Setting up rbootd, HP-UX 10
The native HP-UX 10 rbootd does not serve
hp300 clients
Setting up rbootd, IRIX (no info available)
#/etc/rbootd.conf CC:CC:CC:CC:CC:CC SYS_UBOOT
This will start rbootd in debugging mode. It will print out all rbootd requests it receives and prints all messages it sends.
If rbootd is working correctly, then your client will present the following selection along with any other bootable systems during the search for bootable systems:
LAN, 21, rbootdserver 1Z SYS_UBOOT
Here is an example of the rbootd
debugging output from NetBSD.
Here is an example of the rbootd
debugging output from OpenBSD.
Continue on to setting up rarp
The NetBSD rbootd source code is available from the NetBSD mirrors in the hp300/installation/misc directory along with SYS_UBOOT.
You may prefer to use YAMAMORI Takenori's sun-rbootd package instead of the built-in rbootd.
#/etc/rbootd.conf CC:CC:CC:CC:CC:CC SYS_UBOOT
This will start rbootd in debugging mode. It will print out all rbootd requests it receives and prints all messages it sends.
If rbootd is working correctly, then your client will present the following selection along with any other bootable systems during the search for bootable systems:
LAN, 21, rbootdserver 1Z SYS_UBOOT
Here is an example of the rbootd
debugging output from FreeBSD.
Here is an example of the rbootd
debugging output from FreeBSD when the patches are not applied correctly
(i.e. the byte-order is wrong).
FreeBSD may get everything fixed in their rbootd at some point, in which
case, you can try
running that instead of the NetBSD rbootd. You would run it as:
# /usr/libexec/rbootd -d [-i <interface>]
You can currently take the FreeBSD 2.2.6 rbootd source code and remove the patches for FreeBSD (since they're no longer necessary). This will compile and work.
Continue on to setting up rarp
Alan Bain has made rbootd into a Debian package (it is currently in the "unstable" section of the packages). If you're running Debian, you may consider trying this instead of following the directions below. Once you get it working, you can continue on to setting up rarp.
You may prefer to use YAMAMORI Takenori's sun-rbootd package instead of these other options.
Linux has an add-on package that allows programs to write directly to the ethernet. Some distributions (Debian) ship with this library in place. The latest (as of 8/1/98) Red Hat and Slackware distributions don't.
To check for this library, you should look for libpcap.a in either /usr/lib or /usr/local/lib. If it's there, then you can skip the first two steps.
It will give some warnings, but these can be ignored.
If it fails with an error,
you may not have /lib/libc.so.6.X.X.
If this is the case, then you will need to edit Makefile.linux
and add -lbsd to the following line:
LFLAGS = -lbsd -lpcapThen run # make -f Makefile.linux clean;make -f Makefile.linux.
#/etc/rbootd.conf CC:CC:CC:CC:CC:CC SYS_UBOOT
This will start rbootd in debugging mode. It will print out all rbootd requests it receives and prints all messages it sends.
If rbootd is working correctly, then your client will present the following selection along with any other bootable systems during the search for bootable systems:
LAN, 21, rbootdserver 1Z SYS_UBOOT
Here is an example of the rbootd debugging output from Linux.
Continue on to setting up rarp
This is still a work-in-progress, which is why you should download the latest version directly from his site. If you find that it doesn't work for your platform/architecture, be sure to send him an email detailing what went wrong.
#/etc/ethers CC:CC:CC:CC:CC:CC client
This will start sun-rbootd in debugging mode. It will print out all rbootd requests it receives and prints all messages it sends. When sun-rbootd is in debugging mode, it will look in the current directory for the bootable files, not in /tftpboot (thus the requirement to cd to /tftpboot before running).
If you are running HP-UX and rbootd fails with one of the following error
messages, then you must kill the native rbootd process:
HP-UX 9 (and earlier)
HPEXT_DXSAP: Device busy HPEXT_SXSAP: Invalid argument read: Destination address required read -1HP-UX 10 (and later)
dlpi: DL_BIND_REQ is nacked. dlpi: unix_errno 16If rbootd is working correctly, then your client will present the following selection along with any other bootable systems during the search for bootable systems:
LAN, 21, rbootdserver 1Z C0A8010A
Here is an example of the rbootd debugging output from sun-rbootd.
Continue on to setting up rarp
It is highly probable that YAMAMORI Takenori's sun-rbootd package will compile under HP-UX 7. This will be much less painful than the process outlined below.
If your machine is already set up in a clustered configuration (server or client), then the procedure below still applies, but it will take much less time (and fewer reboots).
SAM will create a lot of context dependent files (10 MB worth) that it is unable to clean up. You'll need at least 10 MB disk space, and it will rebuild the kernel a few times and reboot several more.
By following this procedure you will make your HP-UX machine into a cluster server, meaning you'll be able to boot any HP Series 300/400 workstation into HP-UX disklessly. The last steps modify your server's setup so that the clients will boot to NetBSD instead.
If you choose to not heed this warning, here's how you do it in HP-UX 7:
#/etc/clusterconf SSSSSSSSSSSS: # clustercast address -- DO NOT REMOVE THIS LINE SSSSSSSSSSSS:1:rbootdserver:r:1:4 CCCCCCCCCCCC:2:client:c:1:1
A word of warning: HP-UX and NetBSD won't coexist when rbootd is used from a HP-UX server. There is no way to specify which bootloader is the default to the clients on a machine-by-machine basis. The default is either HP-UX or NetBSD. You can intervene during boot and specify the other if you list other bootloaders on the cluster:HPS300 line in /etc/boottab.
For example, to have NetBSD be default and allow for HP-UX, your /etc/boottab file should look like:
#/etc/boottab cluster:HPS300::SYS_UBOOT,SYSHPUX,SYSDEBUG,SYSBCKUP,SYSTEST:/SYS_UBOOT,/hp-ux,/SYSDEBUG,/SYSBCKUP,/SYSTESTAlso note, you can have only one line uncommented in /etc/boottab that has HPS300 in the second column.
If rbootd is working correctly, then your client will present the following selection along with any other bootable systems during the search for bootable systems:
LAN, 21, rbootdserver 1Z SYS_UBOOT
Continue on to setting up rarp
You may prefer to use YAMAMORI Takenori's sun-rbootd package instead of the built-in rbootd. The procedure is much less time-consuming and difficult than the one outlined below.
If your machine is already set up in a clustered configuration (server or client), then the procedure below still applies, but it will take much less time (and fewer reboots).
SAM will create a bunch of context dependent files (about 10 MB worth), which it is not able to clean up. You'll need at least 10 MB disk space, and it will rebuild the kernel a few times and reboot several more.
By following this procedure you will make your HP-UX machine into a cluster server, meaning you'll be able to boot any HP Series 300/400 workstation into HP-UX disklessly. The last steps modify your server's setup so that the clients will boot to NetBSD instead.
If you choose to not heed this warning, here's how you do it in HP-UX 9.X:
#/etc/clusterconf SSSSSSSSSSSS: # clustercast address -- DO NOT REMOVE THIS LINE SSSSSSSSSSSS:1:rbootdserver:r:1:4 CCCCCCCCCCCC:2:client:c:1:1
A word of warning: HP-UX and NetBSD won't coexist when rbootd is used from a HP-UX server. There is no way to specify which bootloader is the default on a machine-by-machine basis. The default is either HP-UX or NetBSD. You can intervene during boot and specify the other if you list other bootloaders on the cluster:HPS300 line in /etc/boottab.
For example, to have NetBSD be default and allow for HP-UX, your /etc/boottab file should look like:
#/etc/boottab cluster:HPS300::SYS_UBOOT,SYSHPUX,SYSDEBUG,SYSBCKUP,SYSTEST:/SYS_UBOOT,/hp-ux,/SYSDEBUG,/SYSBCKUP,/SYSTESTAlso note, you can have only one line uncommented in /etc/boottab that has HPS300 in the second column.
Here is an example of the rbootd debugging output from HP-UX 9.0.
If rbootd is working correctly, then your client will present the following selection along with any other bootable systems during the search for bootable systems:
LAN, 21, rbootdserver 1Z SYS_UBOOT
Continue on to setting up rarp
Chances are it's not possible. Apparently, HP-UX 10 encapsulates bootp requests inside their rbootd packets now.
These are the files that I had configured in my failed attempts:
client:\ ht=ethernet:\ ha=CCCCCCCCCCCC:\ ip=192.168.1.10:\ hn:\ bf=/tmp/SYS_UBOOT:\ sm=255.255.255.0
cluster:HPS300::SYS_UBOOT:/SYS_UBOOT
You run /sbin/init.d/rbootd start.
I had placed SYS_UBOOT in various places in the hopes it would be found (such as /tmp, /home/tftpdir, and /usr/boot.
Here is the output from tcpdump when attempting to rboot off an HP-UX 10 machine:
00:00:41.623180 client < 9:0:9:0:0:4 sap f8 ui/C len=43 0000 0006 0806 0901 0000 0000 00ff ff00 0248 5053 3330 3020 2020 2020 2020 2020 2020 2020 2000 00ee ee11 11 00:00:41.627400 RBOOTDSERVER.TEST.NET.bootps < 255.255.255.255.bootpc: xid:0x220 Y:client.test.net S:RBOOTDSERVER.TEST.NET [|bootp] (ttl 64, id 52777)
This is the output from /usr/sbin/rbootd -l 3 /dev/lan0:
Sun Jul 19 01:03:21 1998 : STARTUP Sun Jul 19 01:03:21 1998 : device is lan0 Sun Jul 19 01:03:21 1998 : opening device 0: /dev/lan0 (BOOTPFWD) Sun Jul 19 01:03:21 1998 : INITIALIZATION COMPLETE
The logfile (/usr/adm/rbootd.log) says:
Rejected boot request from 0xCCCCCCCCCCCC
Note, that sun-rbootd compiles and works for HP-UX 10. You can follow those directions to set up your HP-UX 10 machine as a rbootd server.
Back to the top
Back to the top
|
|