134 lines
5.1 KiB
Plaintext
134 lines
5.1 KiB
Plaintext
|
|
||
|
This is an enhanced version of the CMU BOOTP server which was derived
|
||
|
from the original BOOTP server created by Bill Croft at Stanford.
|
||
|
This version merges all the enhancements and bug-fixes from the
|
||
|
NetBSD, Columbia, and other versions.
|
||
|
|
||
|
Please direct questions, comments, and bug reports to the list:
|
||
|
<bootp@andrew.cmu.edu>
|
||
|
|
||
|
You can subscribe to this mailing list by sending mail to:
|
||
|
bootp-request@andrew.cmu.edu
|
||
|
(The body of the message should contain: "Add <your-address>")
|
||
|
|
||
|
[ From the NetBSD README file: ]
|
||
|
|
||
|
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.
|
||
|
|
||
|
[ From the CMU README file: ]
|
||
|
|
||
|
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 # BOOTP Server
|
||
|
bootpc 68/udp # BOOTP Client
|
||
|
|
||
|
4) Edit the bootptab. It has some explanitory comments, and there
|
||
|
is a manual entry describing its format (bootptab.5)
|
||
|
If you have any questions, just let us know.
|
||
|
|
||
|
Construction:
|
||
|
[ See the file Installation which is more up-to-date. -gwr ]
|
||
|
|
||
|
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. The following is a sample /etc/inetd.conf entry:
|
||
|
# BOOTP server
|
||
|
bootps dgram udp wait root /usr/etc/bootpd bootpd -i
|
||
|
|
||
|
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
|
||
|
|
||
|
[ Contents description by file: ]
|
||
|
|
||
|
Announce* Text of release announcements
|
||
|
Changes Change history, reverse chronological
|
||
|
Installation Instructions for building and installing
|
||
|
Makefile* for "make"
|
||
|
README This file
|
||
|
ToDo Things not yet done
|
||
|
bootp.h The protocol header file
|
||
|
bootpd.8 Manual page for bootpd, boopgw
|
||
|
bootpd.c BOOTP server main module
|
||
|
bootpd.h header for above (and others)
|
||
|
bootpef.8 Manual page for bootpef
|
||
|
bootpef.c BOOTP extension file compiler
|
||
|
bootpgw.c BOOTP gateway main module
|
||
|
bootptab.5 A manual describing the bootptab format
|
||
|
bootptab.cmu A sample database file for the server
|
||
|
bootptab.mcs Another sample from <gwr@mc.com>
|
||
|
bootptest.8 Manual page for bootptest
|
||
|
bootptest.c BOOTP test program (fake client)
|
||
|
bootptest.h header for above
|
||
|
dovend.c Vendor Option builder (for bootpd, bootpef)
|
||
|
dovend.h header for above
|
||
|
dumptab.c Implements debugging dump for bootpd
|
||
|
getether.c For bootptest (not used yet)
|
||
|
getif.c Get network interface info.
|
||
|
getif.h header for above
|
||
|
hash.c The hash table module
|
||
|
hash.h header for above
|
||
|
hwaddr.c Hardware address support
|
||
|
hwaddr.h header for above
|
||
|
lookup.c Internet Protocol address lookup
|
||
|
lookup.h header for above
|
||
|
patchlevel.h Holds version numbers
|
||
|
print-bootp.c Prints BOOTP packets (taken from BSD tcpdump)
|
||
|
readfile.c The configuration file-reading routines
|
||
|
readfile.h header for above
|
||
|
report.c Does syslog-style messages
|
||
|
report.h header for above
|
||
|
strerror.c Library errno-to-string (for systems lacking it)
|
||
|
syslog.conf Sample config file for syslogd(8)
|
||
|
syslog.h For systems that lack syslog(3)
|
||
|
try*.c Test programs (for debugging)
|
||
|
tzone.c Get timezone offset
|
||
|
tzone.h header for above
|