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