1130b656e5
This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
137 lines
5.2 KiB
Plaintext
137 lines
5.2 KiB
Plaintext
# $FreeBSD$
|
|
|
|
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
|
|
ConvOldTab.sh Script to convert old (1.x) bootptab files
|
|
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)
|
|
getether.h header for above
|
|
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
|