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