11.1Sgwr
21.1SgwrThis is an enhanced version of the CMU BOOTP server which was derived
31.1Sgwrfrom the original BOOTP server created by Bill Croft at Stanford.
41.1SgwrThis version merges all the enhancements and bug-fixes from the
51.1SgwrNetBSD, Columbia, and other versions.
61.1Sgwr
71.2SgwrPlease direct questions, comments, and bug reports to the list:
81.2Sgwr	<bootp@andrew.cmu.edu>
91.1Sgwr
101.1SgwrYou can subscribe to this mailing list by sending mail to:
111.1Sgwr	bootp-request@andrew.cmu.edu
121.1Sgwr(The body of the message should contain: "Add <your-address>")
131.1Sgwr
141.1Sgwr[ From the NetBSD README file: ]
151.1Sgwr
161.1SgwrBOOTPD is a useful adjunct to the nfs diskless boot EPROM code.
171.1Sgwr
181.1SgwrThe alternatives for initiating a boot of a kernel across a network
191.1Sgwrare to use RARP protocol, or BOOTP protocol. BOOTP is more flexible;
201.1Sgwrit allows additional items of information to be returned to the
211.1Sgwrbooting client; it also supports booting across gateways.
221.1Sgwr
231.1Sgwr[ From the CMU README file: ]
241.1Sgwr
251.1SgwrNotes:
261.1Sgwr1) BOOTP was originally designed and implemented by Bill Croft at Stanford.
271.1Sgwr   Much of the credit for the ideas and the code goes to him.  We've added
281.1Sgwr   code to support the vendor specific area of the packet as specified in
291.1Sgwr   RFC1048.  We've also improved the host lookup algorithm and added some
301.1Sgwr   extra logging.
311.1Sgwr
321.1Sgwr2) The server now uses syslog to do logging.  Specifically it uses the 4.3bsd
331.1Sgwr   version.  I've #ifdef'd all of these calls.  If you are running 4.2 you
341.1Sgwr   should compile without the -DSYSLOG switch.
351.1Sgwr
361.1Sgwr3) You must update your /etc/services file to contain the following two lines:
371.1Sgwr	bootps		67/udp		bootp		# BOOTP Server
381.1Sgwr	bootpc		68/udp				# BOOTP Client
391.1Sgwr
401.1Sgwr4) Edit the bootptab.  It has some explanitory comments, and there
411.1Sgwr   is a manual entry describing its format (bootptab.5)
421.1Sgwr   If you have any questions, just let us know.
431.1Sgwr
441.1SgwrConstruction:
451.1Sgwr    [ See the file Installation which is more up-to-date. -gwr ]
461.1Sgwr
471.1Sgwr    Make sure all of the files exist first.  If anything is missing,
481.1Sgwr    please contact either Walt Wimer or Drew Perkins by E-mail or phone.
491.1Sgwr    Addresses and phone numbers are listed below.
501.1Sgwr
511.1Sgwr    Type 'make'.  The options at present are: -DSYSLOG which enables logging
521.1Sgwr    code, -DDEBUG which enables table dumping via signals, and -DVEND_CMU
531.1Sgwr    which enables the CMU extensions for CMU PC/IP.
541.1Sgwr
551.1Sgwr    Edit the bootptab.  The man page and the comments in the file should
561.1Sgwr    explain how to go about doing so.  If you have any problems, let me know.
571.1Sgwr
581.1Sgwr    Type 'make install'.  This should put all of the files in the right place.
591.1Sgwr
601.1Sgwr    Edit your /etc/rc.local or /etc/inetd.conf file to start up bootpd upon
611.1Sgwr    reboot.  The following is a sample /etc/inetd.conf entry:
621.1Sgwr	# BOOTP server
631.1Sgwr	bootps dgram udp wait root /usr/etc/bootpd bootpd -i
641.1Sgwr
651.1SgwrCare and feeding:
661.1Sgwr    If you change the interface cards on your host or add new hosts you will
671.1Sgwr    need to update /etc/bootptab.  Just edit it as before.  Once you write
681.1Sgwr    it back out, bootpd will notice that there is a new copy and will
691.1Sgwr    reread it the next time it gets a request.
701.1Sgwr
711.1Sgwr    If your bootp clients don't get a response then several things might be
721.1Sgwr    wrong.  Most often, the entry for that host is not in the database.
731.1Sgwr    Check the hardware address and then check the entry and make sure
741.1Sgwr    everything is right.  Other problems include the server machine crashing,
751.1Sgwr    bad cables, and the like.  If your network is very congested you should
761.1Sgwr    try making your bootp clients send additional requests before giving up.
771.1Sgwr
781.1Sgwr
791.1SgwrNovember 7, 1988
801.1Sgwr
811.1Sgwr
821.1SgwrWalter L. Wimer			Drew D. Perkins
831.1Sgwrww0n@andrew.cmu.edu		ddp@andrew.cmu.edu
841.1Sgwr(412) 268-6252			(412) 268-8576
851.1Sgwr
861.1Sgwr4910 Forbes Ave
871.1SgwrPittsburgh, PA  15213
881.1Sgwr
891.1Sgwr[ Contents description by file: ]
901.1Sgwr
911.1SgwrAnnounce*	Text of release announcements
921.2SgwrChanges  	Change history, reverse chronological
931.1SgwrInstallation	Instructions for building and installing
941.1SgwrMakefile*	for "make"
951.1SgwrREADME		This file
961.2SgwrToDo		Things not yet done
971.1Sgwrbootp.h		The protocol header file
981.1Sgwrbootpd.8	Manual page for bootpd, boopgw
991.1Sgwrbootpd.c	BOOTP server main module
1001.1Sgwrbootpd.h	 header for above (and others)
1011.1Sgwrbootpef.8	Manual page for bootpef
1021.1Sgwrbootpef.c	BOOTP extension file compiler
1031.1Sgwrbootpgw.c	BOOTP gateway main module
1041.1Sgwrbootptab.5	A manual describing the bootptab format
1051.1Sgwrbootptab.cmu	A sample database file for the server
1061.1Sgwrbootptab.mcs	Another sample from <gwr@mc.com>
1071.1Sgwrbootptest.8	Manual page for bootptest
1081.1Sgwrbootptest.c	BOOTP test program (fake client)
1091.1Sgwrbootptest.h	 header for above
1101.1Sgwrdovend.c	Vendor Option builder (for bootpd, bootpef)
1111.1Sgwrdovend.h	 header for above
1121.1Sgwrdumptab.c	Implements debugging dump for bootpd
1131.1Sgwrgetether.c	For bootptest (not used yet)
1141.1Sgwrgetif.c		Get network interface info.
1151.1Sgwrgetif.h		 header for above
1161.1Sgwrhash.c		The hash table module
1171.1Sgwrhash.h		 header for above
1181.1Sgwrhwaddr.c	Hardware address support
1191.1Sgwrhwaddr.h	 header for above
1201.1Sgwrlookup.c	Internet Protocol address lookup
1211.1Sgwrlookup.h	 header for above
1221.1Sgwrpatchlevel.h	Holds version numbers
1231.1Sgwrprint-bootp.c	Prints BOOTP packets (taken from BSD tcpdump)
1241.1Sgwrreadfile.c	The configuration file-reading routines
1251.1Sgwrreadfile.h	 header for above
1261.1Sgwrreport.c	Does syslog-style messages
1271.1Sgwrreport.h	 header for above
1281.1Sgwrstrerror.c	Library errno-to-string (for systems lacking it)
1291.1Sgwrsyslog.conf	Sample config file for syslogd(8)
1301.1Sgwrsyslog.h	For systems that lack syslog(3)
1311.1Sgwrtry*.c		Test programs (for debugging)
1321.1Sgwrtzone.c		Get timezone offset
1331.1Sgwrtzone.h		 header for above
134