[Mist - war gelöst] Kernelmodul signieren

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
mcb
Beiträge: 1066
Registriert: 25.06.2020 17:28:49

[Mist - war gelöst] Kernelmodul signieren

Beitrag von mcb » 09.04.2021 17:37:21

Hallo,

ich möchte ein Kernelmodul - jeweils nach einem Kernelupdate (automatisch) mit meinem M.-Key signieren.

Das habe ich bisher zu Stande gebracht:

Code: Alles auswählen

/usr/lib/linux-kbuild-5.10/scripts/sign-file sha256 /root/MOK.priv /root/MOK.der /lib/modules/$(uname -r)/updates/dkms/acpi_call.ko

 
Kann ich das automatisieren ? Bzw. wie ?

Ich führe den 1zeiler jetzt nach jedem Kernelupdate per Hand aus. (Nach einem reboot) sonst stimmt $(uname -r) noch nicht :oops:
Zuletzt geändert von mcb am 04.06.2021 11:56:53, insgesamt 2-mal geändert.

Benutzeravatar
towo
Beiträge: 3843
Registriert: 27.02.2007 19:49:44
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Kernelmodul signieren

Beitrag von towo » 09.04.2021 17:45:33


mcb
Beiträge: 1066
Registriert: 25.06.2020 17:28:49

Re: Kernelmodul signieren

Beitrag von mcb » 09.04.2021 20:30:57

Tja - ich verstehe nur die Hälfte - passt das 1:1 auf Debian ?

kernelver habe ich z.B. nicht ...

mcb
Beiträge: 1066
Registriert: 25.06.2020 17:28:49

Re: Kernelmodul signieren

Beitrag von mcb » 29.04.2021 13:09:59

towo hat geschrieben: ↑ zum Beitrag ↑
09.04.2021 17:45:33
https://computerlinguist.org/make-dkms- ... -1604.html
VIelleicht?
Hurray !!! :hail: :hail: :hail:

Tausend Dank ich habe es hinbekommen :THX: :THX: :THX:

mcb
Beiträge: 1066
Registriert: 25.06.2020 17:28:49

Re: [Mist - war gelöst] Kernelmodul signieren

Beitrag von mcb » 04.06.2021 11:59:33

Mist es ging die ganze Zeit

nach dem heutigen Kernelupdate war das Modul nicht signiert -

S... wo suche ich da :roll:

Nach dem Einzeiler geht es wieder -

Bin für jede Hilfe / Hinweis dankbar wo ich überhaupt suchen muß.

mcb
Beiträge: 1066
Registriert: 25.06.2020 17:28:49

Re: [Mist - war gelöst] Kernelmodul signieren

Beitrag von mcb » 04.06.2021 12:12:23

Hier ein wenig Info - bis zum letzten Kernelupdate lief die automatisch Signierung durch:

Code: Alles auswählen

root@mb:~# ls -al /etc/dkms/sign-kernel-objects.conf;cat /etc/dkms/sign-kernel-objects.conf; uname -a
-rw-r--r-- 1 root root 49 Apr 29 12:47 /etc/dkms/sign-kernel-objects.conf
POST_BUILD=../../../../../../root/sign-kernel.sh
Linux mb 5.10.0-7-amd64 #1 SMP Debian 5.10.40-1 (2021-05-28) x86_64 GNU/Linux


Code: Alles auswählen

Start-Date: 2021-06-04  11:37:23
Commandline: apt upgrade
Install: linux-image-5.10.0-7-amd64:amd64 (5.10.40-1, automatic), linux-headers-5.10.0-7-common:amd64 (5.10.40-1, automatic), linux-headers-5.10.0-7-amd64:amd64 (5.10.40-1, automatic)
Upgrade: linux-kbuild-5.10:amd64 (5.10.28-1, 5.10.40-1), console-setup:amd64 (1.202, 1.203), linux-compiler-gcc-10-x86:amd64 (5.10.28-1, 5.10.40-1), linux-headers-amd64:amd64 (5.10.28-1, 5.10.40-1), console-setup-linux:amd64 (1.202, 1.203), linux-image-amd64:amd64 (5.10.28-1, 5.10.40-1), libmagickwand-6.q16-6:amd64 (8:6.9.11.60+dfsg-1, 8:6.9.11.60+dfsg-1.3), libmagickcore-6.q16-6:amd64 (8:6.9.11.60+dfsg-1, 8:6.9.11.60+dfsg-1.3), imagemagick-6-common:amd64 (8:6.9.11.60+dfsg-1, 8:6.9.11.60+dfsg-1.3), keyboard-configuration:amd64 (1.202, 1.203), linux-libc-dev:amd64 (5.10.28-1, 5.10.40-1)
End-Date: 2021-06-04  11:38:00

Code: Alles auswählen

dkms status
acpi-call, 1.1.0, 5.10.0-6-amd64, x86_64: installed
acpi-call, 1.1.0, 5.10.0-7-amd64, x86_64: installed (WARNING! Diff between built and installed module!)
root@mb:~# 


Ja das untere habe ich jetzt per Hand signiert nur wie bekomme ich den log von script beim Kernel update ?

So nochmal per Hand:

Code: Alles auswählen

root@mb:~# apt remove acpi-call-dkms -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
  acpi-call-dkms
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 52.2 kB disk space will be freed.
(Reading database ... 264382 files and directories currently installed.)
Removing acpi-call-dkms (1.1.0-6) ...

-------- Uninstall Beginning --------
Module:  acpi-call
Version: 1.1.0
Kernel:  5.10.0-6-amd64 (x86_64)
-------------------------------------

Status: Before uninstall, this module version was ACTIVE on this kernel.

acpi_call.ko:
 - Uninstallation
   - Deleting from: /lib/modules/5.10.0-6-amd64/updates/dkms/
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.

depmod....

DKMS: uninstall completed.

-------- Uninstall Beginning --------
Module:  acpi-call
Version: 1.1.0
Kernel:  5.10.0-7-amd64 (x86_64)
-------------------------------------

Status: Before uninstall, this module version was ACTIVE on this kernel.

acpi_call.ko:
 - Uninstallation
   - Deleting from: /lib/modules/5.10.0-7-amd64/
rmdir: failed to remove '': No such file or directory
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.

depmod....

DKMS: uninstall completed.

------------------------------
Deleting module version: 1.1.0
completely from the DKMS tree.
------------------------------
Done.
root@mb:~# tlp start
TLP started in AC mode (auto).
root@mb:~# tlp-stat -b
--- TLP 1.4.0-alpha.2 --------------------------------------------

+++ Battery Care
Plugin: thinkpad
Supported features: charge thresholds, recalibration
Driver usage:
* natacpi (thinkpad_acpi) = active (charge thresholds)
* tpacpi-bat (acpi_call)  = active (recalibration)
Parameter value ranges:
* START_CHARGE_THRESH_BAT0/1:  0(off)..96(default)..99
* STOP_CHARGE_THRESH_BAT0/1:   1..100(default)

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/class/power_supply/BAT0/manufacturer                   = SMP
/sys/class/power_supply/BAT0/model_name                     = 02DL014
/sys/class/power_supply/BAT0/cycle_count                    =     20
/sys/class/power_supply/BAT0/energy_full_design             =  57020 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  55580 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  26340 [mWh]
/sys/class/power_supply/BAT0/power_now                      =      0 [mW]
/sys/class/power_supply/BAT0/status                         = Idle

/sys/class/power_supply/BAT0/charge_control_start_threshold =     45 [%]
/sys/class/power_supply/BAT0/charge_control_end_threshold   =    100 [%]
tpacpi-bat.BAT0.forceDischarge                              =      0

Charge                                                      =   47.4 [%]
Capacity                                                    =   97.5 [%]

root@mb:~# dkms status
root@mb:~# apt install acpi-call-dkms -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  acpi-call-dkms
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 14.0 kB of archives.
After this operation, 52.2 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bullseye/main amd64 acpi-call-dkms all 1.1.0-6 [14.0 kB]
Fetched 14.0 kB in 0s (125 kB/s)         
Retrieving bug reports... Done
Parsing Found/Fixed information... Done
Selecting previously unselected package acpi-call-dkms.
(Reading database ... 264363 files and directories currently installed.)
Preparing to unpack .../acpi-call-dkms_1.1.0-6_all.deb ...
Unpacking acpi-call-dkms (1.1.0-6) ...
Setting up acpi-call-dkms (1.1.0-6) ...
Loading new acpi-call-1.1.0 DKMS files...
Building for 5.10.0-7-amd64
Building initial module for 5.10.0-7-amd64
Done.

acpi_call.ko:
Running module version sanity check.
 - Original module
 - Installation
   - Installing to /lib/modules/5.10.0-7-amd64/updates/dkms/

depmod...

DKMS: install completed.
root@mb:~# 


mcb
Beiträge: 1066
Registriert: 25.06.2020 17:28:49

Re: [Mist - war gelöst] Kernelmodul signieren

Beitrag von mcb » 04.06.2021 12:53:59

Ich verstehe es nicht:

nach reboot:

Code: Alles auswählen

marc@mb:~$ s
Password: 
root@mb:~# dkms status
acpi-call, 1.1.0, 5.10.0-7-amd64, x86_64: installed
root@mb:~# tlp-stat -b
--- TLP 1.4.0-alpha.2 --------------------------------------------

+++ Battery Care
Plugin: thinkpad
Supported features: charge thresholds, recalibration
Driver usage:
* natacpi (thinkpad_acpi) = active (charge thresholds)
* tpacpi-bat (acpi_call)  = active (recalibration)
Parameter value ranges:
* START_CHARGE_THRESH_BAT0/1:  0(off)..96(default)..99
* STOP_CHARGE_THRESH_BAT0/1:   1..100(default)

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/class/power_supply/BAT0/manufacturer                   = SMP
/sys/class/power_supply/BAT0/model_name                     = 02DL014
/sys/class/power_supply/BAT0/cycle_count                    =     20
/sys/class/power_supply/BAT0/energy_full_design             =  57020 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  55580 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  26340 [mWh]
/sys/class/power_supply/BAT0/power_now                      =      0 [mW]
/sys/class/power_supply/BAT0/status                         = Idle

/sys/class/power_supply/BAT0/charge_control_start_threshold =     45 [%]
/sys/class/power_supply/BAT0/charge_control_end_threshold   =    100 [%]
tpacpi-bat.BAT0.forceDischarge                              =      0

Charge                                                      =   47.4 [%]
Capacity                                                    =   97.5 [%]

root@mb:~# dkms status
acpi-call, 1.1.0, 5.10.0-7-amd64, x86_64: installed
root@mb:~# 



mcb
Beiträge: 1066
Registriert: 25.06.2020 17:28:49

Re: [Mist - war gelöst] Kernelmodul signieren

Beitrag von mcb » 25.06.2021 21:45:40

mcb hat geschrieben: ↑ zum Beitrag ↑
04.06.2021 11:59:33
Mist es ging die ganze Zeit

nach dem heutigen Kernelupdate war das Modul nicht signiert -

S... wo suche ich da :roll:

Nach dem Einzeiler geht es wieder -

Bin für jede Hilfe / Hinweis dankbar wo ich überhaupt suchen muß.
Hat Irgendwer eine Idee ?!?

Gruß

mcb
Beiträge: 1066
Registriert: 25.06.2020 17:28:49

Re: [Mist - war gelöst] Kernelmodul signieren

Beitrag von mcb » 22.07.2021 11:43:11

Irgendetwas an der Anleitung passt nicht mehr unter Bullseye.

Ich kann jetzt nach jedem Kernelupdate das Modul neu installieren, sonst geht es nicht:

Code: Alles auswählen

#! /bin/bash

apt install acpi-call-dkms- -y; apt install acpi-call-dkms -y
Dann läuft es durch und wird signiert.

Benutzeravatar
towo
Beiträge: 3843
Registriert: 27.02.2007 19:49:44
Lizenz eigener Beiträge: GNU Free Documentation License

Re: [Mist - war gelöst] Kernelmodul signieren

Beitrag von towo » 22.07.2021 12:00:25

Warum deaktivierst Du nicht einfach Die Schlangenöl-Funktion im Bios?

mcb
Beiträge: 1066
Registriert: 25.06.2020 17:28:49

Re: [Mist - war gelöst] Kernelmodul signieren

Beitrag von mcb » 22.07.2021 12:38:34

towo hat geschrieben: ↑ zum Beitrag ↑
22.07.2021 12:00:25
Warum deaktivierst Du nicht einfach Die Schlangenöl-Funktion im Bios?
Ja das wäre Plan C ...

Deswegen: https://thunderspy.io/ und es hat ja auch einige Zeit perfekt funktioniert. Finde ich schade wenn Speicherschutz funktioniert und man es nicht nutzen kann.

Klar kann ich ohne Secureboot oder ohne Module. Per Hand signieren ginge ja auch - müßte ich die Automatik wieder Rückgänging machen. Oh je.

Benutzeravatar
towo
Beiträge: 3843
Registriert: 27.02.2007 19:49:44
Lizenz eigener Beiträge: GNU Free Documentation License

Re: [Mist - war gelöst] Kernelmodul signieren

Beitrag von towo » 22.07.2021 12:45:10

Secureboot ist kein Speicherschutz!
Im Prinzip ist es Nutzlos wie ein Kropf.

mcb
Beiträge: 1066
Registriert: 25.06.2020 17:28:49

Re: [Mist - war gelöst] Kernelmodul signieren

Beitrag von mcb » 22.07.2021 12:52:19

towo hat geschrieben: ↑ zum Beitrag ↑
22.07.2021 12:45:10
Secureboot ist kein Speicherschutz!
Im Prinzip ist es Nutzlos wie ein Kropf.
Meine Hardware bietet Speicherschutz unter Kernel 5.x kombiniert mit Secureboot. Bzw. ohne das Geraffel hauen die Designfehler von Intel und Co noch mehr durch.

Code: Alles auswählen

OS version:
 Linux kernel 5.10.0-8-amd64
Kernel DMA Protection:
 Enabled
System vendor: 
 LENOVO
Product name: 
 20NXC

MSfree
Beiträge: 7332
Registriert: 25.09.2007 19:59:30

Re: [Mist - war gelöst] Kernelmodul signieren

Beitrag von MSfree » 22.07.2021 13:24:06

mcb hat geschrieben: ↑ zum Beitrag ↑
22.07.2021 12:52:19
Meine Hardware bietet Speicherschutz unter Kernel 5.x kombiniert mit Secureboot.
Speicherschutz hat nichts mit Secure Boot zu tun. Speicherschutz funktioniert auch ohne Secure Boot und umgekehrt.
Bzw. ohne das Geraffel hauen die Designfehler von Intel und Co noch mehr durch.
Falsch. Die Designfehler werden durch aktuelle Micorcodes eingeschränkt, mehr kann dein UEFI auch nicht leisten. Es ist aber egal, ob dein UEFI den Microdode lädt oder der Kernel. Wenn es der Kernel macht, hast du eine Chance darauf, aktuellere Microcodes nutzen zu können.

mcb
Beiträge: 1066
Registriert: 25.06.2020 17:28:49

Re: [Mist - war gelöst] Kernelmodul signieren

Beitrag von mcb » 22.07.2021 20:37:04

Ne - da reden wir aneinander vorbei - der Microcode hat damit nichts zu tun.

Code: Alles auswählen

Kernel DMA Protection
z.B. für Thunderbolt.

Antworten