1
0
Fork 0

Merge pull request #705 from yarda/systemd-boot-workaround

Add variables to BLS entries only if grub is used
This commit is contained in:
Jaroslav Škarvada 2025-01-15 01:10:09 +01:00 committed by GitHub
commit a252fa1573
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -5,6 +5,9 @@ KERNEL_VERSION="$2"
BOOT_DIR_ABS="$3"
KERNEL_IMAGE="$4"
# skip if systemd-boot is used
[ "$KERNEL_INSTALL_LAYOUT" = "bls" ] && exit 0
if ! [[ $KERNEL_INSTALL_MACHINE_ID ]]; then
exit 0
fi
@ -32,16 +35,17 @@ for f in `basename "$MACHINE_ID"`-*.conf; do
continue
fi
if [ "${ARCH:0:4}" = "s390" ]; then
# On s390(x), the zipl bootloader doesn't support variables,
# unpatch TuneD variables which could be there from the previous TuneD
# versions
grep -q '^\s*options\s\+.*\$tuned_params' "$f" && sed -i '/^\s*options\s\+/ s/\s\+\$tuned_params\b//g' "$f"
grep -q '^\s*initrd\s\+.*\$tuned_initrd' "$f" && sed -i '/^\s*initrd\s\+/ s/\s\+\$tuned_initrd\b//g' "$f"
else
# Not on s390(x), add TuneD variables if they are not there
if grep -q '\(\s*grub_\)\|\($grub\)' "$f" && [ "${ARCH:0:4}" != "s390" ]; then
# grub generated BLS entries detected and not on s390(x) where zipl is used,
# there is high chance that variables in BLS entries will be supported (grub
# extension is unsupported by zipl)
grep -q '^\s*options\s\+.*\$tuned_params' "$f" || sed -i '/^\s*options\s\+/ s/\(.*\)/\1 \$tuned_params/' "$f"
grep -q '^\s*initrd\s\+.*\$tuned_initrd' "$f" || sed -i '/^\s*initrd\s\+/ s/\(.*\)/\1 \$tuned_initrd/' "$f"
else
# BLS entries generated by some unsupported tool or on s390x, unpatch TuneD
# variables which could be there from the previous TuneD versions
grep -q '^\s*options\s\+.*\$tuned_params' "$f" && sed -i '/^\s*options\s\+/ s/\s\+\$tuned_params\b//g' "$f"
grep -q '^\s*initrd\s\+.*\$tuned_initrd' "$f" && sed -i '/^\s*initrd\s\+/ s/\s\+\$tuned_initrd\b//g' "$f"
fi
done
popd &> /dev/null