diff --git a/92-tuned.install b/92-tuned.install index 0f7bdf3..5864eb9 100755 --- a/92-tuned.install +++ b/92-tuned.install @@ -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