[ Gelöst ] -- Kernelpaket beim Kompilieren signieren

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
KingBonecrusher
Beiträge: 375
Registriert: 07.06.2005 09:48:43

[ Gelöst ] -- Kernelpaket beim Kompilieren signieren

Beitrag von KingBonecrusher » 29.07.2023 10:47:32

Hi!

Ich nutze eigene SecureBoot Keys und bisher signiere ich meinen Kernel nach der Installation des bereits fertigen Paketes mit sbsign. Problem hier ist, dass ich den Private Key auch bei der Installation zur Hand haben muss. Gibt es nicht auch einen Weg den Kernel vor/während des Paketbaus zu signieren?

Ich erstelle mein kernel_image Paket wie folgt.

Code: Alles auswählen

make-kpkg -j8 --initrd --arch=amd64 --revision=0.1 --append-to-version=-amd64 --initrd kernel_image
Die config habe ich vom offiziellen Debian Kernel übernommen und angepasst. Meine Module werden korrekt signiert und mein eigenes Zertifikat ist im Kernel enthalten. Nur halt der Kernel [ vmlinuz-xxxx ] an sich ist nicht signiert im deb Paket.

Grüße

NACHTRAG:
Ich nutze efi-stub, daher lade ich den Kernel direkt ohne bootloader. Fall sich jemand fragt wieso ich nicht den bootloader signiere....
Zuletzt geändert von KingBonecrusher am 29.07.2023 13:36:38, insgesamt 1-mal geändert.

KingBonecrusher
Beiträge: 375
Registriert: 07.06.2005 09:48:43

Re: Kernelpaket beim Kompilieren signieren

Beitrag von KingBonecrusher » 29.07.2023 13:36:23

Ich konnte das Problem selbst lösen, benötigt zum Glück auch nur 2 extra Schritte.

1) Kernel bauen

Code: Alles auswählen

make-kpkg -j$(nproc) --initrd --arch=amd64 --revision=1.0 --append-to-version=-amd64 --initrd build
2) Kernel signieren

Code: Alles auswählen

sbsign --key db.key --cert db.crt ./arch/x86/boot/bzImage --output ./arch/x86/boot/bzImage
3) Kernelpaket bauen

Code: Alles auswählen

make-kpkg -j$(nproc) --initrd --arch=amd64 --revision=1.0 --append-to-version=-amd64 --initrd kernel_image

Antworten