Sicherer Start mit einheitlichem Kernel-Image auf openSuSE?

Sicherer Start mit einheitlichem Kernel-Image auf openSuSE?

Ich versuche, OpenSuSE Tumbleweed auf einem System mit verschlüsselter Root-Partition zu installieren. Zuerst habe ich versucht,RODEN, aber es weigerte sich, eine LUKS-verschlüsselte Partition zu erkennen.

Derzeit versuche ich, eineeinheitliches Kernel-Imagedas sowohl den Kernel als auch das initrd mit einem Secure Boot-Schlüssel signiert, um Manipulationen zu verhindern. Debian hatsicherbootZu diesem Zweck hat ArchAbonnieren.

Dracut, das in SUSE verwendete initrd, scheint ebenfallsdiese Funktionalität eingebaut. Leider scheint das Dracut-Postinstall-Skript (vorhanden /usr/lib/module-init-tools/regenerate-initrd-posttransund unten wiedergegeben) die Dracut-Befehlszeile fest zu codieren. Gibt es eine andere Möglichkeit, die Generierung einheitlicher Kernel-Images nach RPM-Updates zu automatisieren?

#!/bin/sh
#
# Packages that install kernels or kernel-modules create a flag
#
#   /run/regenerate-initrd/<kernel image>
# 
# to have the initrd for <kernel image> generated, or
#
#   /run/regenerate-initrd/all
#
# to have all initrds generated. This script is called from posttrans
# and takes care of generating the initrds

: ${DRACUT:=/usr/bin/dracut}
if [ ! -x "$DRACUT" ]; then
    echo "${0##*/}: dracut is not installed, not rebuilding the initrd" >&2
    exit 0
fi

dir=/run/regenerate-initrd

if ! test -d "$dir"; then
    exit 0
fi
for f in "$dir"/*; do
    case $f in
        "$dir/*")
        [ -e "$f" ] || break;;
    esac
    # check if we are in a build chroot
    if ! [  -f /etc/fstab -a ! -e /.buildenv -a -x "$DRACUT" ] ; then
        echo "Please run \"$DRACUT -f --regenerate-all\" as soon as your system is complete." >&2
        rm "$dir"/*
        exit 0
    fi
    break
done

if test -e "$dir/all"; then
    rm "$dir"/*
    "$DRACUT" -f --regenerate-all
    exit
fi
err=0
for f in "$dir"/*; do
    case $f in
        "$dir/*")
        [ -e "$f" ] || break;;
    esac
    rm "$f"
    image=${f##*/}
    kver=${image#*-}
    if ! test -e "/boot/$image"; then
        echo "$0: /boot/$image does not exist, initrd won't be generated"
        continue
    fi
    if ! "$DRACUT" -f "/boot/initrd-$kver" "$kver"; then
        err=$?
    fi
done
exit $err


Antwort1

Es scheintuefi="yes"zu dracut.conf hinzufügenbewirkt, dass Dracut einheitliche Images auf der EFI-Partition (am Speicherort) erstellterwartet von systemd-boot), wodurch das Problem behoben werden sollte [ich hatte noch keine Zeit, dies zu überprüfen]

verwandte Informationen