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-8.4 platform.
Download (HTTP): http://roy.marples.name/downloads/dhcpcd/dhcpcd-7.1.1.tar.xz
Download (FTP): ftp://roy.marples.name/pub/dhcpcd/dhcpcd-7.1.1.tar.xz
Download MD5 sum: adc0a949cb718b455d81deea9ba2875f
Download size: 208 KB
Estimated disk space required: 2.9 MB
Estimated build time: less than 0.1 SBU
LLVM-7.0.1 (with Clang), ntp-4.2.8p12, chronyd, and ypbind
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/dhcpcd
Install dhcpcd by running the following commands:
./configure --libexecdir=/lib/dhcpcd \ --dbdir=/var/lib/dhcpcd && make
To test the results, issue: make test.
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/lib/dhcpcd
:
The default /var/db
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-20180105 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.
Make sure that you disable the systemd-networkd service or configure it not to manage the interfaces you want to manage with dhcpcd.
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 2019-02-15 10:59:27 -0800