103 lines
3.7 KiB
Plaintext
103 lines
3.7 KiB
Plaintext
This is a port of bootpd (CMU version 2.2a) to NetBSD-current.
|
|
|
|
BOOTPD is a useful adjunct to the nfs diskless boot EPROM code.
|
|
|
|
The alternatives for initiating a boot of a kernel across a network
|
|
are to use RARP protocol, or BOOTP protocol. BOOTP is more flexible;
|
|
it allows additional items of information to be returned to the
|
|
booting client; it also supports booting across gateways.
|
|
|
|
There are two parts to this package:
|
|
|
|
- The bootpd sources to be compiled and installed.
|
|
|
|
- A patch to etc/services and etc/inetd.conf to define the bootpd
|
|
network service names and to define the bootpd task to inetd. These
|
|
items are in the PATCH file.
|
|
|
|
If you have problems or questions about this port, send me email at
|
|
mckim@lerc.nasa.gov
|
|
|
|
- Jim McKim
|
|
|
|
enclosed below is the original README:
|
|
|
|
|
|
This directory contains the source for the CMU BOOTP server. The files
|
|
include:
|
|
|
|
README This file
|
|
bootpd.8 The manual page
|
|
bootp.h The protocol header file
|
|
bootpd.h The server header file
|
|
bootpd.c The main server module
|
|
readfile.c The configuration file-reading routines
|
|
hash.h The hash table header file
|
|
hash.c The hash table module
|
|
Version.c The version module
|
|
newvers.sh A shell script to generate new version numbers
|
|
Makefile The makefile
|
|
bootptab An example database file for the server
|
|
gmods Text describing optional gateway modifications
|
|
|
|
|
|
Notes:
|
|
1) BOOTP was originally designed and implemented by Bill Croft at Stanford.
|
|
Much of the credit for the ideas and the code goes to him. We've added
|
|
code to support the vendor specific area of the packet as specified in
|
|
RFC1048. We've also improved the host lookup algorithm and added some
|
|
extra logging.
|
|
|
|
2) The server now uses syslog to do logging. Specifically it uses the 4.3bsd
|
|
version. I've #ifdef'd all of these calls. If you are running 4.2 you
|
|
should compile without the -DSYSLOG switch.
|
|
|
|
3) You must update your /etc/services file to contain the following two lines:
|
|
bootps 67/udp # bootp server
|
|
bootpc 68/udp # bootp client
|
|
|
|
4) The code and the bootptab should be reasonably well commented. If you
|
|
have any questions, just let us know.
|
|
|
|
Construction:
|
|
Make sure all of the files exist first. If anything is missing,
|
|
please contact either Walt Wimer or Drew Perkins by E-mail or phone.
|
|
Addresses and phone numbers are listed below.
|
|
|
|
Type 'make'. The options at present are: -DSYSLOG which enables logging
|
|
code, -DDEBUG which enables table dumping via signals, and -DVEND_CMU
|
|
which enables the CMU extensions for CMU PC/IP.
|
|
|
|
Edit the bootptab. The man page and the comments in the file should
|
|
explain how to go about doing so. If you have any problems, let me know.
|
|
|
|
Type 'make install'. This should put all of the files in the right place.
|
|
|
|
Edit your /etc/rc.local or /etc/inetd.conf file to start up bootpd upon
|
|
reboot.
|
|
|
|
Care and feeding:
|
|
If you change the interface cards on your host or add new hosts you will
|
|
need to update /etc/bootptab. Just edit it as before. Once you write
|
|
it back out, bootpd will notice that there is a new copy and will
|
|
reread it the next time it gets a request.
|
|
|
|
If your bootp clients don't get a response then several things might be
|
|
wrong. Most often, the entry for that host is not in the database.
|
|
Check the hardware address and then check the entry and make sure
|
|
everything is right. Other problems include the server machine crashing,
|
|
bad cables, and the like. If your network is very congested you should
|
|
try making your bootp clients send additional requests before giving up.
|
|
|
|
|
|
November 7, 1988
|
|
|
|
|
|
Walter L. Wimer Drew D. Perkins
|
|
ww0n@andrew.cmu.edu ddp@andrew.cmu.edu
|
|
(412) 268-6252 (412) 268-8576
|
|
|
|
4910 Forbes Ave
|
|
Pittsburgh, PA 15213
|
|
|