150476Speter# $FreeBSD$
23229Spst
33229SpstThis is an enhanced version of the CMU BOOTP server which was derived
43229Spstfrom the original BOOTP server created by Bill Croft at Stanford.
53229SpstThis version merges all the enhancements and bug-fixes from the
63229SpstNetBSD, Columbia, and other versions.
73229Spst
83229SpstPlease direct questions, comments, and bug reports to the list:
93229Spst	<bootp@andrew.cmu.edu>
103229Spst
113229SpstYou can subscribe to this mailing list by sending mail to:
123229Spst	bootp-request@andrew.cmu.edu
133229Spst(The body of the message should contain: "Add <your-address>")
143229Spst
153229Spst[ From the NetBSD README file: ]
163229Spst
173229SpstBOOTPD is a useful adjunct to the nfs diskless boot EPROM code.
183229Spst
193229SpstThe alternatives for initiating a boot of a kernel across a network
203229Spstare to use RARP protocol, or BOOTP protocol. BOOTP is more flexible;
213229Spstit allows additional items of information to be returned to the
223229Spstbooting client; it also supports booting across gateways.
233229Spst
243229Spst[ From the CMU README file: ]
253229Spst
263229SpstNotes:
273229Spst1) BOOTP was originally designed and implemented by Bill Croft at Stanford.
283229Spst   Much of the credit for the ideas and the code goes to him.  We've added
293229Spst   code to support the vendor specific area of the packet as specified in
303229Spst   RFC1048.  We've also improved the host lookup algorithm and added some
313229Spst   extra logging.
323229Spst
333229Spst2) The server now uses syslog to do logging.  Specifically it uses the 4.3bsd
343229Spst   version.  I've #ifdef'd all of these calls.  If you are running 4.2 you
353229Spst   should compile without the -DSYSLOG switch.
363229Spst
373229Spst3) You must update your /etc/services file to contain the following two lines:
383229Spst	bootps		67/udp		bootp		# BOOTP Server
393229Spst	bootpc		68/udp				# BOOTP Client
403229Spst
413229Spst4) Edit the bootptab.  It has some explanitory comments, and there
423229Spst   is a manual entry describing its format (bootptab.5)
433229Spst   If you have any questions, just let us know.
443229Spst
453229SpstConstruction:
463229Spst    [ See the file Installation which is more up-to-date. -gwr ]
473229Spst
483229Spst    Make sure all of the files exist first.  If anything is missing,
493229Spst    please contact either Walt Wimer or Drew Perkins by E-mail or phone.
503229Spst    Addresses and phone numbers are listed below.
513229Spst
523229Spst    Type 'make'.  The options at present are: -DSYSLOG which enables logging
533229Spst    code, -DDEBUG which enables table dumping via signals, and -DVEND_CMU
543229Spst    which enables the CMU extensions for CMU PC/IP.
553229Spst
563229Spst    Edit the bootptab.  The man page and the comments in the file should
573229Spst    explain how to go about doing so.  If you have any problems, let me know.
583229Spst
593229Spst    Type 'make install'.  This should put all of the files in the right place.
603229Spst
613229Spst    Edit your /etc/rc.local or /etc/inetd.conf file to start up bootpd upon
623229Spst    reboot.  The following is a sample /etc/inetd.conf entry:
633229Spst	# BOOTP server
643229Spst	bootps dgram udp wait root /usr/etc/bootpd bootpd -i
653229Spst
663229SpstCare and feeding:
673229Spst    If you change the interface cards on your host or add new hosts you will
683229Spst    need to update /etc/bootptab.  Just edit it as before.  Once you write
693229Spst    it back out, bootpd will notice that there is a new copy and will
703229Spst    reread it the next time it gets a request.
713229Spst
723229Spst    If your bootp clients don't get a response then several things might be
733229Spst    wrong.  Most often, the entry for that host is not in the database.
743229Spst    Check the hardware address and then check the entry and make sure
753229Spst    everything is right.  Other problems include the server machine crashing,
763229Spst    bad cables, and the like.  If your network is very congested you should
773229Spst    try making your bootp clients send additional requests before giving up.
783229Spst
793229Spst
803229SpstNovember 7, 1988
813229Spst
823229Spst
833229SpstWalter L. Wimer			Drew D. Perkins
843229Spstww0n@andrew.cmu.edu		ddp@andrew.cmu.edu
853229Spst(412) 268-6252			(412) 268-8576
863229Spst
873229Spst4910 Forbes Ave
883229SpstPittsburgh, PA  15213
893229Spst
903229Spst[ Contents description by file: ]
913229Spst
923229SpstAnnounce*	Text of release announcements
933229SpstChanges  	Change history, reverse chronological
9413572SpstConvOldTab.sh	Script to convert old (1.x) bootptab files
953229SpstInstallation	Instructions for building and installing
963229SpstMakefile*	for "make"
973229SpstREADME		This file
983229SpstToDo		Things not yet done
993229Spstbootp.h		The protocol header file
1003229Spstbootpd.8	Manual page for bootpd, boopgw
1013229Spstbootpd.c	BOOTP server main module
1023229Spstbootpd.h	 header for above (and others)
1033229Spstbootpef.8	Manual page for bootpef
1043229Spstbootpef.c	BOOTP extension file compiler
1053229Spstbootpgw.c	BOOTP gateway main module
1063229Spstbootptab.5	A manual describing the bootptab format
1073229Spstbootptab.cmu	A sample database file for the server
1083229Spstbootptab.mcs	Another sample from <gwr@mc.com>
1093229Spstbootptest.8	Manual page for bootptest
1103229Spstbootptest.c	BOOTP test program (fake client)
1113229Spstbootptest.h	 header for above
1123229Spstdovend.c	Vendor Option builder (for bootpd, bootpef)
1133229Spstdovend.h	 header for above
1143229Spstdumptab.c	Implements debugging dump for bootpd
1153229Spstgetether.c	For bootptest (not used yet)
11613572Spstgetether.h	 header for above
1173229Spstgetif.c		Get network interface info.
1183229Spstgetif.h		 header for above
1193229Spsthash.c		The hash table module
1203229Spsthash.h		 header for above
1213229Spsthwaddr.c	Hardware address support
1223229Spsthwaddr.h	 header for above
1233229Spstlookup.c	Internet Protocol address lookup
1243229Spstlookup.h	 header for above
1253229Spstpatchlevel.h	Holds version numbers
1263229Spstprint-bootp.c	Prints BOOTP packets (taken from BSD tcpdump)
1273229Spstreadfile.c	The configuration file-reading routines
1283229Spstreadfile.h	 header for above
1293229Spstreport.c	Does syslog-style messages
1303229Spstreport.h	 header for above
1313229Spststrerror.c	Library errno-to-string (for systems lacking it)
1323229Spstsyslog.conf	Sample config file for syslogd(8)
1333229Spstsyslog.h	For systems that lack syslog(3)
1343229Spsttry*.c		Test programs (for debugging)
1353229Spsttzone.c		Get timezone offset
1363229Spsttzone.h		 header for above
137