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.
          
![[Note]](../images/note.png) 
            
              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