dhcpcd is an implementation of the DHCP client specified in RFC2131. A DHCP client is useful for connecting your computer to a network which uses DHCP to assign network addresses. dhcpcd strives to be a fully featured, yet very lightweight DHCP client.
This package is known to build and work properly using an LFS-7.7 platform.
Download (HTTP): http://roy.marples.name/downloads/dhcpcd/dhcpcd-6.7.1.tar.bz2
Download (FTP): ftp://roy.marples.name/pub/dhcpcd/dhcpcd-6.7.1.tar.bz2
Download MD5 sum: ffb716b0e9327968e7200d519e1d4c0d
Download size: 160 KB
Estimated disk space required: 2.2 MB
Estimated build time: less than 0.1 SBU
LLVM-3.5.1 (with Clang)
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/dhcpcd
Install dhcpcd by running the following commands:
./configure --libexecdir=/lib/dhcpcd \ --dbdir=/var/tmp && make
This package does not come with a test suite.
Now, as the root
user:
make install
--libexecdir=/lib/dhcpcd
:
The default /libexec
is not
FHS-compliant. Since this directory may need to be available early
in the boot, /usr/libexec
cannot be
used either.
--dbdir=/var/tmp
: The
default /var/lib
is not FHS-compliant
--with-hook=...
: You can optionally
install more hooks, for example to install some configuration files
such as ntp.conf
. The set of hooks is
in the dhcpcd-hooks
directory in the
build tree.
To configure dhcpcd, you need to first
install the network service script, /lib/services/dhcpcd
included in the blfs-bootscripts-20150304 package (as
user root
):
make install-service-dhcpcd
Whenever dhcpcd configures or shuts down a network interface, it executes hook scripts. For more details about those scripts, see the dhcpcd-run-hooks and dhcpcd man pages.
Finally, as the
root
user create the /etc/sysconfig/ifconfig.eth0
configuration file
using the following commands. Adjust appropriately for additional
interfaces:
cat > /etc/sysconfig/ifconfig.eth0 << "EOF"
ONBOOT="yes"
IFACE="eth0"
SERVICE="dhcpcd"
DHCP_START="-b -q <insert appropriate start options here>
"
DHCP_STOP="-k <insert additional stop options here>
"
EOF
For more information on the appropriate DHCP_START
and DHCP_STOP
values, examine the man page for
dhcpcd.
The default
behavior of dhcpcd sets the hostname and
mtu settings. It also overwrites /etc/resolv.conf
and /etc/ntp.conf
. These modifications to system
files and settings on system configuration files are done by
hooks which are stored in /lib/dhcpcd/dhcpcd-hooks
. Setup dhcpcd by removing or adding
hooks from/to that directory. The execution of hooks can be
disabled by using the --nohook
(-C
) command line option or by the
nohook
option in the /etc/dhcpcd.conf
file.
Review the dhcpcd
man page for switches to add to the DHCP_START
value.
Although not
usual, it is possible that you need to configure dhcpcd to use a fixed ip. Here, we give an
example. As the root
user create
the /etc/sysconfig/ifconfig.eth0
configuration file using the following commands. Adjust
appropriately for additional interfaces and for the actual ip and
router you need:
cat > /etc/sysconfig/ifconfig.eth0 << "EOF"
ONBOOT="yes"
IFACE="eth0"
SERVICE="dhcpcd"
DHCP_START="-b -q -S ip_address=192.168.0.10/24 -S routers=192.168.0.1"
DHCP_STOP="-k"
EOF
You can either use DNS servers in /etc/resolv.conf
from another system, your
preferred servers, or just the example /etc/resolv.conf.head
file below as is:
cat > /etc/resolv.conf.head << "EOF"
# OpenDNS servers
nameserver 208.67.222.222
nameserver 208.67.220.220
EOF
Last updated on 2015-03-01 17:45:33 -0800