README revision 1.1 1 1.1 gwr
2 1.1 gwr This is an enhanced version of the CMU BOOTP server which was derived
3 1.1 gwr from the original BOOTP server created by Bill Croft at Stanford.
4 1.1 gwr This version merges all the enhancements and bug-fixes from the
5 1.1 gwr NetBSD, Columbia, and other versions.
6 1.1 gwr
7 1.1 gwr If you have problems or questions about this version, send email to:
8 1.1 gwr gwr (a] mc.com (Gordon W. Ross)
9 1.1 gwr
10 1.1 gwr For general questions about BOOTP, send email to the list:
11 1.1 gwr bootp (a] andrew.cmu.edu
12 1.1 gwr You can subscribe to this mailing list by sending mail to:
13 1.1 gwr bootp-request (a] andrew.cmu.edu
14 1.1 gwr (The body of the message should contain: "Add <your-address>")
15 1.1 gwr
16 1.1 gwr [ From the NetBSD README file: ]
17 1.1 gwr
18 1.1 gwr BOOTPD is a useful adjunct to the nfs diskless boot EPROM code.
19 1.1 gwr
20 1.1 gwr The alternatives for initiating a boot of a kernel across a network
21 1.1 gwr are to use RARP protocol, or BOOTP protocol. BOOTP is more flexible;
22 1.1 gwr it allows additional items of information to be returned to the
23 1.1 gwr booting client; it also supports booting across gateways.
24 1.1 gwr
25 1.1 gwr [ From the CMU README file: ]
26 1.1 gwr
27 1.1 gwr Notes:
28 1.1 gwr 1) BOOTP was originally designed and implemented by Bill Croft at Stanford.
29 1.1 gwr Much of the credit for the ideas and the code goes to him. We've added
30 1.1 gwr code to support the vendor specific area of the packet as specified in
31 1.1 gwr RFC1048. We've also improved the host lookup algorithm and added some
32 1.1 gwr extra logging.
33 1.1 gwr
34 1.1 gwr 2) The server now uses syslog to do logging. Specifically it uses the 4.3bsd
35 1.1 gwr version. I've #ifdef'd all of these calls. If you are running 4.2 you
36 1.1 gwr should compile without the -DSYSLOG switch.
37 1.1 gwr
38 1.1 gwr 3) You must update your /etc/services file to contain the following two lines:
39 1.1 gwr bootps 67/udp bootp # BOOTP Server
40 1.1 gwr bootpc 68/udp # BOOTP Client
41 1.1 gwr
42 1.1 gwr 4) Edit the bootptab. It has some explanitory comments, and there
43 1.1 gwr is a manual entry describing its format (bootptab.5)
44 1.1 gwr If you have any questions, just let us know.
45 1.1 gwr
46 1.1 gwr Construction:
47 1.1 gwr [ See the file Installation which is more up-to-date. -gwr ]
48 1.1 gwr
49 1.1 gwr Make sure all of the files exist first. If anything is missing,
50 1.1 gwr please contact either Walt Wimer or Drew Perkins by E-mail or phone.
51 1.1 gwr Addresses and phone numbers are listed below.
52 1.1 gwr
53 1.1 gwr Type 'make'. The options at present are: -DSYSLOG which enables logging
54 1.1 gwr code, -DDEBUG which enables table dumping via signals, and -DVEND_CMU
55 1.1 gwr which enables the CMU extensions for CMU PC/IP.
56 1.1 gwr
57 1.1 gwr Edit the bootptab. The man page and the comments in the file should
58 1.1 gwr explain how to go about doing so. If you have any problems, let me know.
59 1.1 gwr
60 1.1 gwr Type 'make install'. This should put all of the files in the right place.
61 1.1 gwr
62 1.1 gwr Edit your /etc/rc.local or /etc/inetd.conf file to start up bootpd upon
63 1.1 gwr reboot. The following is a sample /etc/inetd.conf entry:
64 1.1 gwr # BOOTP server
65 1.1 gwr bootps dgram udp wait root /usr/etc/bootpd bootpd -i
66 1.1 gwr
67 1.1 gwr Care and feeding:
68 1.1 gwr If you change the interface cards on your host or add new hosts you will
69 1.1 gwr need to update /etc/bootptab. Just edit it as before. Once you write
70 1.1 gwr it back out, bootpd will notice that there is a new copy and will
71 1.1 gwr reread it the next time it gets a request.
72 1.1 gwr
73 1.1 gwr If your bootp clients don't get a response then several things might be
74 1.1 gwr wrong. Most often, the entry for that host is not in the database.
75 1.1 gwr Check the hardware address and then check the entry and make sure
76 1.1 gwr everything is right. Other problems include the server machine crashing,
77 1.1 gwr bad cables, and the like. If your network is very congested you should
78 1.1 gwr try making your bootp clients send additional requests before giving up.
79 1.1 gwr
80 1.1 gwr
81 1.1 gwr November 7, 1988
82 1.1 gwr
83 1.1 gwr
84 1.1 gwr Walter L. Wimer Drew D. Perkins
85 1.1 gwr ww0n (a] andrew.cmu.edu ddp (a] andrew.cmu.edu
86 1.1 gwr (412) 268-6252 (412) 268-8576
87 1.1 gwr
88 1.1 gwr 4910 Forbes Ave
89 1.1 gwr Pittsburgh, PA 15213
90 1.1 gwr
91 1.1 gwr [ Contents description by file: ]
92 1.1 gwr
93 1.1 gwr Announce* Text of release announcements
94 1.1 gwr Installation Instructions for building and installing
95 1.1 gwr Makefile* for "make"
96 1.1 gwr README This file
97 1.1 gwr bootp.h The protocol header file
98 1.1 gwr bootpd.8 Manual page for bootpd, boopgw
99 1.1 gwr bootpd.c BOOTP server main module
100 1.1 gwr bootpd.h header for above (and others)
101 1.1 gwr bootpef.8 Manual page for bootpef
102 1.1 gwr bootpef.c BOOTP extension file compiler
103 1.1 gwr bootpgw.c BOOTP gateway main module
104 1.1 gwr bootptab.5 A manual describing the bootptab format
105 1.1 gwr bootptab.cmu A sample database file for the server
106 1.1 gwr bootptab.mcs Another sample from <gwr (a] mc.com>
107 1.1 gwr bootptest.8 Manual page for bootptest
108 1.1 gwr bootptest.c BOOTP test program (fake client)
109 1.1 gwr bootptest.h header for above
110 1.1 gwr dovend.c Vendor Option builder (for bootpd, bootpef)
111 1.1 gwr dovend.h header for above
112 1.1 gwr dumptab.c Implements debugging dump for bootpd
113 1.1 gwr getether.c For bootptest (not used yet)
114 1.1 gwr getif.c Get network interface info.
115 1.1 gwr getif.h header for above
116 1.1 gwr hash.c The hash table module
117 1.1 gwr hash.h header for above
118 1.1 gwr hwaddr.c Hardware address support
119 1.1 gwr hwaddr.h header for above
120 1.1 gwr lookup.c Internet Protocol address lookup
121 1.1 gwr lookup.h header for above
122 1.1 gwr patchlevel.h Holds version numbers
123 1.1 gwr print-bootp.c Prints BOOTP packets (taken from BSD tcpdump)
124 1.1 gwr readfile.c The configuration file-reading routines
125 1.1 gwr readfile.h header for above
126 1.1 gwr report.c Does syslog-style messages
127 1.1 gwr report.h header for above
128 1.1 gwr strerror.c Library errno-to-string (for systems lacking it)
129 1.1 gwr syslog.conf Sample config file for syslogd(8)
130 1.1 gwr syslog.h For systems that lack syslog(3)
131 1.1 gwr try*.c Test programs (for debugging)
132 1.1 gwr tzone.c Get timezone offset
133 1.1 gwr tzone.h header for above
134