[Buildroot] [RFC: PATCH 1/3] systemd: configure DHCP via networkd
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Sat Sep 17 12:16:48 UTC 2016
Hello,
(Adding in Cc more people interested in systemd)
On Sat, 17 Sep 2016 13:58:37 +0200, Eric Le Bihan wrote:
> If systemd-networkd is enabled and $BR2_SYSTEM_DHCP is set, then create
> a .network file to configure the selected network interface via DHCP.
>
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev at free.fr>
The idea looks good to me, so unless the people interested in systemd
raise their voice, I'm going to apply something like this. However, I
have one suggestion below.
> ---
> package/systemd/systemd.mk | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
> index fb07819..5062750 100644
> --- a/package/systemd/systemd.mk
> +++ b/package/systemd/systemd.mk
> @@ -275,6 +275,18 @@ define SYSTEMD_INSTALL_RESOLVCONF_HOOK
> ln -sf ../run/systemd/resolve/resolv.conf \
> $(TARGET_DIR)/etc/resolv.conf
> endef
> +SYSTEMD_NETWORK_DHCP_IFACE = $(call qstrip,$(BR2_SYSTEM_DHCP))
> +ifneq ($(SYSTEMD_NETWORK_DHCP_IFACE),)
> +define SYSTEMD_INSTALL_NETWORK_CONFS
> + ( \
> + echo "[Match]"; \
> + echo "Name=$(SYSTEMD_NETWORK_DHCP_IFACE)"; \
> + echo; \
> + echo "[Network]"; \
> + echo "DHCP=ipv4"; \
> + ) > $(TARGET_DIR)/etc/systemd/network/dhcp.network
> +endef
I find having all those echo lines in the middle of the .mk file not
very pretty. What about instead:
package/systemd/dhcp.network containing:
[Match]
Name=SYSTEMD_NETWORK_DHCP_IFACE
[Network]
DHCP=ipv4
package/systemd/systemd.mk doing:
define SYSTEMD_INSTALL_NETWORK_CONF
sed s/SYSTEMD_NETWORK_DHCP_IFACE/$(SYSTEMD_NETWORK_DHCP_IFACE)/ \
package/systemd/dhcp.network > \
$(TARGET_DIR)/etc/systemd/network/dhcp.network
endef
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
More information about the buildroot
mailing list