DKMS Modul Signierung bei UEFI Boot: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „== VirtualBox Installation und Konfiguration unter EFI Secure Boot == === Überprüfen auf EFI Secure Boot === Falls Ihr System EFI Secure Boot verwendet, mü…“) |
|||
| Zeile 4: | Zeile 4: | ||
Falls Ihr System EFI Secure Boot verwendet, müssen Sie die VirtualBox-Kernel-Module signieren. So gehen Sie vor: | Falls Ihr System EFI Secure Boot verwendet, müssen Sie die VirtualBox-Kernel-Module signieren. So gehen Sie vor: | ||
| − | ==== | + | ==== Erstellen von Signierschlüsseln ==== |
Installieren Sie `mokutil` und erstellen Sie die Schlüssel: | Installieren Sie `mokutil` und erstellen Sie die Schlüssel: | ||
<syntaxhighlight lang="sh"> | <syntaxhighlight lang="sh"> | ||
| Zeile 13: | Zeile 13: | ||
Dieser Befehl wird Sie auffordern, ein Passwort zu erstellen. Merken Sie sich dieses Passwort, da Sie es nach dem Neustart benötigen werden. | Dieser Befehl wird Sie auffordern, ein Passwort zu erstellen. Merken Sie sich dieses Passwort, da Sie es nach dem Neustart benötigen werden. | ||
| − | ==== | + | ==== Neustarten und Schlüssel einschreiben ==== |
Starten Sie Ihr System neu. Während des Boot-Vorgangs gelangen Sie in den MOK-Manager. Folgen Sie den Anweisungen, um den MOK (Machine Owner Key) einzuschreiben, den Sie gerade erstellt haben. Verwenden Sie das zuvor erstellte Passwort. | Starten Sie Ihr System neu. Während des Boot-Vorgangs gelangen Sie in den MOK-Manager. Folgen Sie den Anweisungen, um den MOK (Machine Owner Key) einzuschreiben, den Sie gerade erstellt haben. Verwenden Sie das zuvor erstellte Passwort. | ||
| − | ==== | + | ==== Signieren der Kernel-Module ==== |
Nach dem Neustart signieren Sie die VirtualBox-Module: | Nach dem Neustart signieren Sie die VirtualBox-Module: | ||
<syntaxhighlight lang="sh"> | <syntaxhighlight lang="sh"> | ||
| − | sudo apt-get install kmod | + | sudo -i |
| − | + | apt-get install kmod | |
| − | + | /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxdrv) | |
| − | + | /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxnetflt) | |
| − | + | /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxnetadp) | |
| + | /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxpci) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Zeile 29: | Zeile 30: | ||
Um die Signierung der Module nach einem DKMS-Update zu automatisieren, erstellen Sie ein Skript und eine DKMS-Hook-Datei: | Um die Signierung der Module nach einem DKMS-Update zu automatisieren, erstellen Sie ein Skript und eine DKMS-Hook-Datei: | ||
| − | ==== | + | ==== Erstellen eines Signierskripts ==== |
Erstellen Sie ein Skript unter `/usr/local/bin/sign-vbox-modules.sh`: | Erstellen Sie ein Skript unter `/usr/local/bin/sign-vbox-modules.sh`: | ||
<syntaxhighlight lang="sh"> | <syntaxhighlight lang="sh"> | ||
| Zeile 56: | Zeile 57: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | ==== | + | ==== Erstellen einer DKMS-Hook-Datei ==== |
Erstellen Sie eine Hook-Datei unter `/etc/dkms/sign-vbox-modules.conf`: | Erstellen Sie eine Hook-Datei unter `/etc/dkms/sign-vbox-modules.conf`: | ||
<syntaxhighlight lang="sh"> | <syntaxhighlight lang="sh"> | ||
Aktuelle Version vom 22. Juli 2024, 17:20 Uhr
VirtualBox Installation und Konfiguration unter EFI Secure Boot
Überprüfen auf EFI Secure Boot
Falls Ihr System EFI Secure Boot verwendet, müssen Sie die VirtualBox-Kernel-Module signieren. So gehen Sie vor:
Erstellen von Signierschlüsseln
Installieren Sie `mokutil` und erstellen Sie die Schlüssel:
sudo apt-get install mokutil
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 365 -subj "/CN=VirtualBox/"
sudo mokutil --import MOK.der
Dieser Befehl wird Sie auffordern, ein Passwort zu erstellen. Merken Sie sich dieses Passwort, da Sie es nach dem Neustart benötigen werden.
Neustarten und Schlüssel einschreiben
Starten Sie Ihr System neu. Während des Boot-Vorgangs gelangen Sie in den MOK-Manager. Folgen Sie den Anweisungen, um den MOK (Machine Owner Key) einzuschreiben, den Sie gerade erstellt haben. Verwenden Sie das zuvor erstellte Passwort.
Signieren der Kernel-Module
Nach dem Neustart signieren Sie die VirtualBox-Module:
sudo -i
apt-get install kmod
/usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxdrv)
/usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxnetflt)
/usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxnetadp)
/usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxpci)
Automatisierung der Signierung mit DKMS
Um die Signierung der Module nach einem DKMS-Update zu automatisieren, erstellen Sie ein Skript und eine DKMS-Hook-Datei:
Erstellen eines Signierskripts
Erstellen Sie ein Skript unter `/usr/local/bin/sign-vbox-modules.sh`:
sudo nano /usr/local/bin/sign-vbox-modules.sh
Fügen Sie folgendes in das Skript ein:
#!/bin/bash
KERNEL_VERSION=$(uname -r)
MODULES=("vboxdrv" "vboxnetflt" "vboxnetadp" "vboxpci")
KEY_DIR="/path/to/your/keys" # Pfad anpassen
PRIV_KEY="$KEY_DIR/MOK.priv"
DER_KEY="$KEY_DIR/MOK.der"
for module in "${MODULES[@]}"; do
MODULE_PATH=$(modinfo -n $module)
/usr/src/linux-headers-$KERNEL_VERSION/scripts/sign-file sha256 $PRIV_KEY $DER_KEY $MODULE_PATH
done
echo "Modules signed successfully"
Machen Sie das Skript ausführbar:
sudo chmod +x /usr/local/bin/sign-vbox-modules.sh
Erstellen einer DKMS-Hook-Datei
Erstellen Sie eine Hook-Datei unter `/etc/dkms/sign-vbox-modules.conf`:
sudo nano /etc/dkms/sign-vbox-modules.conf
Fügen Sie folgendes in die Datei ein:
PACKAGE_NAME="vbox"
PACKAGE_VERSION="*"
BUILT_MODULE_NAME[0]="vboxdrv"
BUILT_MODULE_LOCATION[0]="vboxdrv"
DEST_MODULE_LOCATION[0]="/extra"
AUTOINSTALL="yes"
POST_BUILD="sudo /usr/local/bin/sign-vbox-modules.sh"
Laden der Module
Sobald die Module signiert sind, laden Sie sie:
sudo modprobe vboxdrv
sudo modprobe vboxnetflt
sudo modprobe vboxnetadp
sudo modprobe vboxpci
Überprüfung der Installation
Überprüfen Sie, ob VirtualBox funktioniert, indem Sie es aus dem Menü starten oder folgendes ausführen:
virtualbox
Falls Sie während dieser Schritte auf Probleme stoßen, geben Sie die spezifischen Fehlermeldungen an, damit weitere Unterstützung geleistet werden kann.