systemd: add network unit file
Add and enable a systemd unit file to bring up or down network with ifup / ifdown, analogous to the skeleton/etc/init.d/S40network init script. Signed-off-by: Ivan Sergeev <vsergeev@kumunetworks.com> [eric.le.bihan.dev@free.fr: - rebase - install service only if systemd-networkd is not selected] 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
91fc913510
commit
eb981cf80b
21
package/systemd/network.service
Normal file
21
package/systemd/network.service
Normal file
@ -0,0 +1,21 @@
|
||||
[Unit]
|
||||
Description=Network Connectivity
|
||||
Wants=network.target
|
||||
Before=network.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
|
||||
# lo is brought up earlier, which will cause the upcoming "ifup -a" to fail
|
||||
# with exit code 1, due to an "ip: RTNETLINK answers: File exists" error during
|
||||
# its "ip addr add ..." command, subsequently causing this unit to fail even
|
||||
# though it is a benign error. Flushing the lo address with the command below
|
||||
# before ifup prevents this failure.
|
||||
ExecStart=/sbin/ip addr flush dev lo
|
||||
|
||||
ExecStart=/sbin/ifup -a
|
||||
ExecStop=/sbin/ifdown -a
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -145,12 +145,24 @@ define SYSTEMD_SANITIZE_PATH_IN_UNITS
|
||||
-exec $(SED) 's,$(HOST_DIR),,g' {} \;
|
||||
endef
|
||||
|
||||
define SYSTEMD_INSTALL_NETWORK_HOOK
|
||||
$(INSTALL) -D -m 644 package/systemd/network.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/network.service
|
||||
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
|
||||
ln -fs ../network.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/network.service
|
||||
endef
|
||||
|
||||
SYSTEMD_POST_INSTALL_TARGET_HOOKS += \
|
||||
SYSTEMD_INSTALL_INIT_HOOK \
|
||||
SYSTEMD_INSTALL_TTY_HOOK \
|
||||
SYSTEMD_INSTALL_MACHINEID_HOOK \
|
||||
SYSTEMD_SANITIZE_PATH_IN_UNITS
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD_NETWORKD),)
|
||||
SYSTEMD_POST_INSTALL_TARGET_HOOKS += SYSTEMD_INSTALL_NETWORK_HOOK
|
||||
endif
|
||||
|
||||
define SYSTEMD_USERS
|
||||
systemd-journal -1 systemd-journal -1 * /var/log/journal - - Journal
|
||||
systemd-journal-gateway -1 systemd-journal-gateway -1 * /var/log/journal - - Journal Gateway
|
||||
|
Loading…
Reference in New Issue
Block a user