dhcp: add systemd service file
Add a systemd service file to start dhcpd. The network interfaces to listen on can be set via the variable INTERFACES in /etc/default/dhcpd.conf. Example: INTERFACES="eth0 eth1" Also install a tmpfiles.d file to create /var/lib/dhcp/dhcpd.leases (needed at dhcpd start-up). Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
146f69ec79
commit
938056f948
|
@ -73,6 +73,21 @@ define DHCP_INSTALL_INIT_SYSV
|
|||
$(TARGET_DIR)/etc/init.d/S80dhcp-relay
|
||||
endef
|
||||
|
||||
define DHCP_INSTALL_INIT_SYSTEMD
|
||||
$(INSTALL) -D -m 644 package/dhcp/dhcpd.service \
|
||||
$(TARGET_DIR)/lib/systemd/system/dhcpd.service
|
||||
|
||||
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
|
||||
|
||||
ln -sf ../../../../lib/systemd/system/dhcpd.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dhcpd.service
|
||||
|
||||
echo "d /var/lib/dhcp 0755 - - - -" > \
|
||||
$(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf
|
||||
echo "f /var/lib/dhcp/dhcpd.leases - - - - -" >> \
|
||||
$(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf
|
||||
endef
|
||||
|
||||
define DHCP_INSTALL_TARGET_CMDS
|
||||
$(DHCP_INSTALL_RELAY)
|
||||
$(DHCP_INSTALL_SERVER)
|
||||
|
|
13
package/dhcp/dhcpd.service
Normal file
13
package/dhcp/dhcpd.service
Normal file
|
@ -0,0 +1,13 @@
|
|||
[Unit]
|
||||
Description=DHCP server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/run/dhcpd.pid
|
||||
ExecStart=/usr/sbin/dhcpd -q -pf /run/dhcpd.pid $INTERFACES
|
||||
KillSignal=SIGINT
|
||||
EnvironmentFile=/etc/default/dhcpd.conf
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Loading…
Reference in a new issue