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