netboot: Deploy drop-in for systemd-network-generator.service 56/30056/4 master
authorJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Mon, 1 Jul 2024 20:56:47 +0000 (20:56 +0000)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Wed, 3 Jul 2024 19:43:17 +0000 (19:43 +0000)
Disable the systemd-network-generator with a drop-in when nbd.server is set
on the kernel cmdline.

Also extend options passed to connmand with known renamed interface names.

Bug-AGL: SPEC-5196
Change-Id: Ia81096262c407f48e801ec4858c4043398b67baa
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/30056
Tested-by: Jenkins Job builder account
ci-image-boot-test: Jenkins Job builder account
ci-image-build: Jenkins Job builder account

meta-netboot/recipes-core/initramfs-netboot/files/init.sh

index 87a1acb..4a4af31 100644 (file)
@@ -144,12 +144,21 @@ pivot_root . boot/initramfs || bail_out "pivot_root failed."
 if [[ -f /lib/systemd/system/connman.service ]]; then
        newopts="-r -n"
        iface=$(find_active_interface)
-       [[ -n "$iface" ]] && newopts="$newopts -I $iface"
+       # beside discovered iface, also ignore known renames
+       [[ -n "$iface" ]] && newopts="$newopts -I ${iface},enp2s0,enp3s0,end0,enp0s2,enp0s1 "
 
        log_info "Adjusting Connman command line. Will be: 'connmand $newopts'"
        sed -i "s|connmand -n\$|connmand $newopts|g" /lib/systemd/system/connman.service
 fi
 
+# workaround for systemd-network-generator bringing the interface up/down/up
+if [[ -f /usr/lib/systemd/system/systemd-network-generator.service ]] ; then
+    mkdir /etc/systemd/system/systemd-network-generator.service.d/
+    echo "[Unit]" > /etc/systemd/system/systemd-network-generator.service.d/10_disable_nbd.conf
+    echo "ConditionKernelCommandLine=!nbd.server" >> /etc/systemd/system/systemd-network-generator.service.d/10_disable_nbd.conf
+fi
+
+
 # also use /proc/net/pnp to generate /etc/resolv.conf
 rm -f /etc/resolv.conf
 grep -v bootserver /proc/net/pnp | sed 's/^domain/search/g' >/etc/resolv.conf