diff options
author | Scott Murray <scott.murray@konsulko.com> | 2024-02-21 10:12:09 -0500 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2024-03-18 21:12:15 +0000 |
commit | 4a1aef10f2aefc964e26e1bbb400249476324cd8 (patch) | |
tree | 06774fa91e2ea1d16eefd155604c338eafa6add0 /meta-agl-core/recipes-core | |
parent | 6bdb73d02d076a439ad02070d733998d17a2f28b (diff) |
meta-agl-core: Improve connman-wait-online usability
Changes:
- Ship connman-wait-online in packagegroup-agl-core-connectivity.
- Add installation of a systemd drop-in configuration file for
systemd-networkd-wait-online when VIRTUAL_RUNIME_net_manager
is set to connman that will disable it. This is required to
avoid boot hangs if a unit does add a dependency on the
network-online target. The approach is not ideal, but it is
not clear how to avoid systemd-networkd-wait-online getting
enabled without actually modifying the systemd-networkd unit.
Bug-AGL: SPEC-5082
Change-Id: Id0a1276e35c68ecb6087f89a880fc069594caca4
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29697
ci-image-build: Jenkins Job builder account
Tested-by: Jenkins Job builder account
ci-image-boot-test: Jenkins Job builder account
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
(cherry picked from commit 4f764134d2f307c1eb63cea7cc0950a7873a2e43)
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29635
Diffstat (limited to 'meta-agl-core/recipes-core')
-rw-r--r-- | meta-agl-core/recipes-core/systemd/systemd/wait-disable.conf | 3 | ||||
-rw-r--r-- | meta-agl-core/recipes-core/systemd/systemd_aglcore.inc | 22 |
2 files changed, 17 insertions, 8 deletions
diff --git a/meta-agl-core/recipes-core/systemd/systemd/wait-disable.conf b/meta-agl-core/recipes-core/systemd/systemd/wait-disable.conf new file mode 100644 index 000000000..e5d4f4b28 --- /dev/null +++ b/meta-agl-core/recipes-core/systemd/systemd/wait-disable.conf @@ -0,0 +1,3 @@ +[Service] +ExecStart= +ExecStart=/usr/bin/true diff --git a/meta-agl-core/recipes-core/systemd/systemd_aglcore.inc b/meta-agl-core/recipes-core/systemd/systemd_aglcore.inc index a61497ec3..9681329be 100644 --- a/meta-agl-core/recipes-core/systemd/systemd_aglcore.inc +++ b/meta-agl-core/recipes-core/systemd/systemd_aglcore.inc @@ -2,29 +2,35 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/systemd:" SRC_URI += "\ file://e2fsck.conf \ - ${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','systemd','file://wired.network','',d)} \ + file://wait-disable.conf \ + file://wired.network \ " -# enable networkd/resolved support +# Enable networkd/resolved support if using systemd for network management PACKAGECONFIG:append = " \ ${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','systemd','networkd resolved','',d)} \ iptc \ " +# SPEC-737: connmand also has a NTP client which races with systemd-timesyncd +PACKAGECONFIG:remove = "timesyncd" + +# Enable systemd-coredump when agl-devel is set on +PACKAGECONFIG:append:agl-devel = " coredump" + do_install:append() { # Install /etc/e2fsck.conf to avoid boot stuck by wrong clock time install -m 644 -p -D ${WORKDIR}/e2fsck.conf ${D}${sysconfdir}/e2fsck.conf - if ${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','systemd','true','false',d)}; then + if [ "${VIRTUAL-RUNTIME_net_manager}" = "systemd" ]; then # Install DHCP configuration for Ethernet adapters install -m 644 ${WORKDIR}/wired.network ${D}${sysconfdir}/systemd/network + elif [ "${VIRTUAL-RUNTIME_net_manager}" = "connman" ]; then + # Disable systemd-networkd-wait-online by default + install -d ${D}${systemd_system_unitdir}/systemd-networkd-wait-online.service.d + install -m 0644 ${WORKDIR}/wait-disable.conf ${D}${systemd_system_unitdir}/systemd-networkd-wait-online.service.d/ fi } FILES:${PN} += "${sysconfdir}/e2fsck.conf " -# SPEC-737: connmand also has a NTP client which races with systemd-timesyncd -PACKAGECONFIG:remove = "timesyncd" - -# Enable systemd-coredump when agl-devel is set on -PACKAGECONFIG:append:agl-devel = " coredump" |