dhcpcd-6.4.3

Introduction to dhcpcd

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.

[Note]

Note

Make sure you disable systemd-networkd service or make it not configure the connections you want to manage with dhcpcd.

Package Information

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/dhcpcd

Installation of 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

Command Explanations

--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.

Configuring dhcpcd

Config Files

/etc/dhcpcd.conf

General Configuration Information

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.

[Note]

Note

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.

Contents

Installed Programs: dhcpcd
Installed Libraries: None
Installed Directories: /lib/dhcpcd

Short Descriptions

dhcpcd

is an implementation of the DHCP client specified in RFC2131.

Last updated on 2014-08-25 13:50:07 -0700