README
1dhcpcd - DHCP client daemon
2Copyright (c) 2006-2012 Roy Marples <roy@marples.name>
3
4
5Installation
6------------
7./configure; make; make install
8man dhcpcd for command line options
9man dhcpcd.conf for configuration options
10man dhcpcd-run-hooks to learn how to hook scripts into dhcpcd events
11
12
13Notes
14-----
15If you're cross compiling you may need set the platform if OS is different
16from the host.
17--target=sparc-sun-netbsd5.0
18
19If you're building for an MMU-less system where fork() does not work, you
20should ./configure --disable-fork.
21This also puts the --no-background flag on and stops the --background flag
22from working.
23
24You can change the default dirs with these knobs.
25For example, to satisfy FHS compliance you would do this:-
26./configure --libexecdir=/lib/dhcpcd dbdir=/var/lib/dhcpcd
27
28We now default to using -std=c99. For 64-bit linux, this always works, but
29for 32-bit linux it requires either gnu99 or a patch to asm/types.h.
30Most distros patch linux headers so this should work fine.
31linux-2.6.24 finally ships with a working 32-bit header.
32If your linux headers are older, or your distro hasn't patched them you can
33set CSTD=gnu99 to work around this.
34
35Some BSD systems do not allow the manipulation of automatically added subnet
36routes. You can find discussion here:
37 http://mail-index.netbsd.org/tech-net/2008/12/03/msg000896.html
38BSD systems where this has been fixed are:
39 NetBSD-5.0
40
41We try and detect how dhcpcd should interact with system services during the
42configure stage. If we cannot auto-detect how do to this, or it is wrong then
43you can change this by passing shell commands to --service-exists,
44--servicecmd and optionally --servicestatus.
45
46To prepare dhcpcd for import into a platform source tree (like NetBSD)
47you can use the make import target to create /tmp/dhcpcd-$version and
48populate it with all the source files and hooks needed.
49In this instance, you may wish to disable some configured tests when
50the binary has to run on older versions which lack support, such as getline.
51./configure --without-getline
52
53
54Hooks
55-----
56Not all the hooks in dhcpcd-hooks are installed by default.
57By default we install 01-test, 10-mtu, 20-resolv.conf,
5829-lookup-hostname and 30-hostname.
59The default dhcpcd.conf disables the lookup-hostname hook by default.
60The configure program attempts to find hooks for systems you have installed.
61To add more simply
62./configure -with-hook=ntp.conf
63
64
65Compatibility
66-------------
67dhcpcd-5.0 is only fully command line compatible with dhcpcd-4.0
68For compatibility with older versions, use dhcpcd-4.0
69
70dhcpcd no longer sends a default ClientID for ethernet interfaces.
71This is so we can re-use the address the kernel DHCP client found.
72To retain the old behaviour of sending a default ClientID based on the
73hardware address for interface, simply add the keyword clientid to dhcpcd.conf.
74
75
76ChangeLog
77---------
78We no longer supply a ChangeLog.
79However, you're more than welcome to read the commit log at
80http://roy.marples.name/projects/dhcpcd/log/
81