Update installer initrd to disable lldpad

The initrd launches the lldpad service, but this can lead to comms disruptions
in certain configurations, causing installation failures. To address this,
we're pulling in patches from the latest dracut code to disable lldapd and
fcoe, with options to allow enabling if desired.

The original upstream commit to identify and address this issue is:
7c6d2ad916

Subsequent upstream updates made minor changes to these small code
blocks, which are also pulled in here:
7fb8f939a5
8446c8f9de
805b46c2a8
6f7823bce6

Change-Id: I696140046d3b4302a6659723a0680ee7f7c97031
Story: 2009009
Task: 42710
Signed-off-by: Don Penney <don.penney@windriver.com>
This commit is contained in:
Don Penney 2021-05-12 17:13:25 -04:00
parent 319690c084
commit 517022ea2f

View File

@ -153,6 +153,40 @@ patch usr/lib/net-lib.sh <<EOF
cnt=\$((\$cnt+1))
EOF
echo "-->patch usr/lib/dracut/hooks/pre-trigger/03-lldpad.sh with rd.fcoe disabling support"
patch usr/lib/dracut/hooks/pre-trigger/03-lldpad.sh <<EOF
--- ../initrd.orig/usr/lib/dracut/hooks/pre-trigger/03-lldpad.sh 2021-05-12 16:32:44.007007124 -0400
+++ usr/lib/dracut/hooks/pre-trigger/03-lldpad.sh 2021-05-12 16:35:31.321509139 -0400
@@ -1,5 +1,10 @@
#!/bin/bash
+if ! getargbool 0 rd.fcoe -d -n rd.nofcoe; then
+ info "rd.fcoe=0: skipping lldpad activation"
+ return 0
+fi
+
# Note lldpad will stay running after switchroot, the system initscripts
# are to kill it and start a new lldpad to take over. Data is transfered
# between the 2 using a shm segment
EOF
echo "-->patch usr/lib/dracut/hooks/cmdline/99-parse-fcoe.sh with rd.fcoe disabling support"
patch usr/lib/dracut/hooks/cmdline/99-parse-fcoe.sh <<EOF
--- ../initrd.orig/usr/lib/dracut/hooks/cmdline/99-parse-fcoe.sh 2021-05-12 16:32:44.008007121 -0400
+++ usr/lib/dracut/hooks/cmdline/99-parse-fcoe.sh 2021-05-12 16:36:56.874254504 -0400
@@ -20,6 +20,10 @@
# If it's not set we don't continue
[ -z "$fcoe" ] && return
+if ! getargbool 0 rd.fcoe -d -n rd.nofcoe; then
+ info "rd.fcoe=0: skipping fcoe"
+ return 0
+fi
# BRCM: Later, should check whether bnx2x is loaded first before loading bnx2fc so do not load bnx2fc when there are no Broadcom adapters
[ -e /sys/bus/fcoe/ctlr_create ] || modprobe -b -a fcoe || die "FCoE requested but kernel/initrd does not support FCoE"
EOF
echo "--> Rebuild the initrd"
if [ -f $output_dir/new-initrd.img ]; then
mv -f $output_dir/new-initrd.img $output_dir/initrd.img-backup-$timestamp