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