
암호화된 루트 파티션이 있는 시스템에 OpenSuSE Tumbleweed를 설치하려고 합니다. 처음에는 설정하려고 했는데애벌레, 그러나 LUKS로 암호화된 파티션을 인식하는 것을 거부했습니다.
현재 나는통합 커널 이미지변조를 방지하기 위해 보안 부팅 키를 사용하여 커널과 initrd에 모두 서명합니다. 데비안은시커부트이를 위해 Arch는업데이트하다.
SUSE에서 사용되는 initrd인 Dracut도이 기능이 내장되어 있습니다. 불행하게도 dracut 설치 후 스크립트( /usr/lib/module-init-tools/regenerate-initrd-posttrans
아래에 있음)는 dracut 명령줄을 하드코딩하는 것 같습니다. RPM 업데이트 후 통합 커널 이미지 생성을 자동화하는 다른 방법이 있습니까?
#!/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
답변1
솔기uefi="yes"
dracut.conf에 추가Dracut은 EFI 파티션(위치)에서 통합 이미지를 생성합니다.systemd-boot에서 예상되는) 그러면 문제가 해결될 것입니다. [아직 확인할 시간이 없었습니다.]