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.6 systemd platform.
Make sure you disable systemd-networkd service or make it not configure the connections you want to manage with dhcpcd.
Download (HTTP): http://roy.marples.name/downloads/dhcpcd/dhcpcd-6.4.3.tar.bz2
Download MD5 sum: b22005c131e7108ecf598b6a4ac091eb
Download size: 148 KB
Estimated disk space required: 2.2 MB
Estimated build time: less than 0.1 SBU
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/dhcpcd
First, silence a lot of warnings caused by using the latest toolchain by running the following command:
sed -i "s:BSD_SOURCE:DEFAULT_SOURCE:g" configure
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.
If you want to configure network interfaces at boot using
dhcpcd, you need to
install the systemd unit included in blfs-systemd-units-20140907 package by
running the following command as the root
user:
make install-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.
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.
At this point you can test if dhcpcd is behaving as expected
by running the following command as the root
user:
systemctl start dhcpcd@eth0
To start dhcpcd on
a specific interface at boot, enable the previously installed
systemd unit by running the following command as the root
user:
systemctl enable dhcpcd@eth0
Replace eth0
with the
actual interface name.
Last updated on 2014-08-25 13:50:07 -0700