From 4f764134d2f307c1eb63cea7cc0950a7873a2e43 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Wed, 21 Feb 2024 10:12:09 -0500 Subject: 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 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 --- .../recipes-core/systemd/systemd_aglcore.inc | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'meta-agl-core/recipes-core/systemd/systemd_aglcore.inc') 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" -- cgit 1.2.3-korg