Kernel Error beim PVE Update

evase

New Member
Jan 14, 2024
10
0
1
Hallo zusammen, ich habe nach langer Zeit (bestimmt 9 Monate) mal mein Proxmox per dist-upgrade versucht etwas frischer zu machen.
Wie die Welt der IT es so möchte, bin ich natürlich nicht ohne Error davon gekommen:

Am Ende des Updates sah das ganze so aus:
Code:
Installing new version of config file /etc/vzdump.conf ...
Ceph is not initialized. No action required.
Processing triggers for systemd (252.26-1~deb12u2) ...
Processing triggers for man-db (2.11.2-2) ...
Processing triggers for dbus (1.14.10-1~deb12u1) ...
Processing triggers for debianutils (5.7-0.5~deb12u1) ...
Processing triggers for mailcap (3.70+nmu1) ...
Processing triggers for initramfs-tools (0.142) ...
update-initramfs: Generating /boot/initrd.img-6.5.13-6-pve
Running hook script 'zz-proxmox-boot'..
Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
No /etc/kernel/proxmox-boot-uuids found, skipping ESP sync.
System booted in EFI-mode but 'grub-efi-amd64' meta-package not installed!
Install 'grub-efi-amd64' to get updates.
Processing triggers for libc-bin (2.36-9+deb12u7) ...
Processing triggers for proxmox-backup-file-restore (3.2.7-1) ...
Updating file-restore initramfs...
12613 blocks
Processing triggers for pve-ha-manager (4.0.5) ...
Errors were encountered while processing:
 proxmox-kernel-6.8.12-1-pve-signed
 proxmox-kernel-6.8
 proxmox-default-kernel
 proxmox-ve
E: Sub-process /usr/bin/dpkg returned an error code (1)


journalctl -xe:
Code:
root@pve01:~# journalctl -xe
░░ The unit pve-ha-crm.service has successfully entered the 'dead' state.
Aug 22 11:28:35 pve01 systemd[1]: Stopped pve-ha-crm.service - PVE Cluster HA Resource Manager Daemon.
░░ Subject: A stop job for unit pve-ha-crm.service has finished
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A stop job for unit pve-ha-crm.service has finished.
░░
░░ The job identifier is 41457 and the job result is done.
Aug 22 11:28:35 pve01 systemd[1]: pve-ha-crm.service: Consumed 1.295s CPU time.
░░ Subject: Resources consumed by unit runtime
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ The unit pve-ha-crm.service completed and consumed the indicated resources.
Aug 22 11:28:35 pve01 systemd[1]: Starting pve-ha-crm.service - PVE Cluster HA Resource Manager Daemon...
░░ Subject: A start job for unit pve-ha-crm.service has begun execution
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A start job for unit pve-ha-crm.service has begun execution.
░░
░░ The job identifier is 41457.
Aug 22 11:28:36 pve01 pve-ha-crm[1325739]: starting server
Aug 22 11:28:36 pve01 pve-ha-crm[1325739]: status change startup => wait_for_quorum
Aug 22 11:28:36 pve01 systemd[1]: Started pve-ha-crm.service - PVE Cluster HA Resource Manager Daemon.
░░ Subject: A start job for unit pve-ha-crm.service has finished successfully
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A start job for unit pve-ha-crm.service has finished successfully.
░░
░░ The job identifier is 41457.
lines 3214-3246/3246 (END)

dpkg --configure -a:
Code:
root@pve01:~# sudo dpkg --configure -a
Setting up proxmox-kernel-6.8.12-1-pve-signed (6.8.12-1) ...
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dkms 6.8.12-1-pve /boot/vmlinuz-6.8.12-1-pve
dkms: running auto installation service for kernel 6.8.12-1-pve.
Sign command: /lib/modules/6.8.12-1-pve/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub

Building module:
Cleaning build area...
make -j4 KERNELRELEASE=6.8.12-1-pve -C /lib/modules/6.8.12-1-pve/build M=/var/lib/dkms/r8168/8.052.01/build.......(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.8.12-1-pve (x86_64)
Consult /var/lib/dkms/r8168/8.052.01/build/make.log for more information.
dkms autoinstall on 6.8.12-1-pve/x86_64 failed for r8168(10)
Error! One or more modules failed to install during autoinstall.
Refer to previous errors for more information.
dkms: autoinstall for kernel: 6.8.12-1-pve failed!
run-parts: /etc/kernel/postinst.d/dkms exited with return code 11
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/proxmox-kernel-6.8.12-1-pve-signed.postinst line 20.
dpkg: error processing package proxmox-kernel-6.8.12-1-pve-signed (--configure):
 installed proxmox-kernel-6.8.12-1-pve-signed package post-installation script subprocess returned error exit status 2
dpkg: dependency problems prevent configuration of proxmox-kernel-6.8:
 proxmox-kernel-6.8 depends on proxmox-kernel-6.8.12-1-pve-signed | proxmox-kernel-6.8.12-1-pve; however:
  Package proxmox-kernel-6.8.12-1-pve-signed is not configured yet.
  Package proxmox-kernel-6.8.12-1-pve is not installed.
  Package proxmox-kernel-6.8.12-1-pve-signed which provides proxmox-kernel-6.8.12-1-pve is not configured yet.

dpkg: error processing package proxmox-kernel-6.8 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of proxmox-default-kernel:
 proxmox-default-kernel depends on proxmox-kernel-6.8; however:
  Package proxmox-kernel-6.8 is not configured yet.

dpkg: error processing package proxmox-default-kernel (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of proxmox-ve:
 proxmox-ve depends on proxmox-default-kernel; however:
  Package proxmox-default-kernel is not configured yet.

dpkg: error processing package proxmox-ve (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 proxmox-kernel-6.8.12-1-pve-signed
 proxmox-kernel-6.8
 proxmox-default-kernel
 proxmox-ve
root@pve01:~#


Im letzteren sieht man, dass es sich anscheinend um Probleme mit "r8168", was ja meines Wissens nach der Realtek Netzwerktreiber ist. Mit genau dem hatte ich nämlich schon kurz nach meiner Serverinstallation letztes Jahr Probleme, die durch ein Update behoben wurden.

Kann ich einfach den "alten" Kernel mit dem restlichen neuen Kram auf der neuen Version benutzen?

Ich habe ehrlich gesagt keine Ahnung wie ich das hinbekomme, dafür habe ich einfach noch zu wenig Erfahrung mit Linux-Servern. Ich traue mich ehrlich gesagt gerade nicht einmal die Kiste neu zu starten und wieder eine Woche kein Netzwerk am Server zu haben wie damals.

Ich bin für jede Hilfe sehr dankbar.


Edit:
In guter Gen-Z Manier habe ich natürlich noch ChatGPT gefragt:

Code:
cat /var/lib/dkms/r8168/8.052.01/build/make.log

"Das Problem liegt hauptsächlich an der fehlenden strlcpy-Funktion im aktuellen Kernel. Der sicherste Ansatz wäre es, entweder den Quellcode anzupassen oder eine kompatible Version des r8168-Moduls zu finden."
 
Last edited:
Das ist richtig, so wie du schon bereits erkannt hast liegt das Problem beim Kompilieren des Netzwerkkartentreibers während der Installation des neuen Proxmox Kernel package. Ich konnte aus deinem vorigen Post herauslesen, dass du an einem Punkt das r8168-dkms package installiert hast, welches nun jedoch beim kompilieren fehlschlägt.

Du hast auch beschrieben, dass du nun r8169 für deine NIC verwendest, ist das noch aktuell?

Wenn ja, würde ich dir vorsichtig dazu raten, dass du eine neuere Version der packages proxmox-default-headers und r8168-dkms installierst (wenn du diesen Treiber weiterverwenden willst/für deine spezifische Karte gebraucht wird/am stabilsten läuft), und natürlich auch noch den r8169 Treiber auf die blacklist setzt (wenn du das nicht schon gemacht hast).

Andernfalls, wenn du nur mehr das in-tree (d.h. im Kernel enthalten) kernel module r8169 für deine NIC verwenden willst, kannst du das package für den anderen Treiber entfernen indem du apt purge r8168-dkms ausführst.
 
Das ist richtig, so wie du schon bereits erkannt hast liegt das Problem beim Kompilieren des Netzwerkkartentreibers während der Installation des neuen Proxmox Kernel package. Ich konnte aus deinem vorigen Post herauslesen, dass du an einem Punkt das r8168-dkms package installiert hast, welches nun jedoch beim kompilieren fehlschlägt.

Du hast auch beschrieben, dass du nun r8169 für deine NIC verwendest, ist das noch aktuell?

Wenn ja, würde ich dir vorsichtig dazu raten, dass du eine neuere Version der packages proxmox-default-headers und r8168-dkms installierst (wenn du diesen Treiber weiterverwenden willst/für deine spezifische Karte gebraucht wird/am stabilsten läuft), und natürlich auch noch den r8169 Treiber auf die blacklist setzt (wenn du das nicht schon gemacht hast).

Andernfalls, wenn du nur mehr das in-tree (d.h. im Kernel enthalten) kernel module r8169 für deine NIC verwenden willst, kannst du das package für den anderen Treiber entfernen indem du apt purge r8168-dkms ausführst.
Erstmal Danke schön für die Antwort!

Erstmal etwas Hardware Daten:
Das ganze läuft auf einem süßen " HP ProDesk 400 G4-Microtower-Business-PC"
NIC laut Herstellerdoc: Realtek RTL8111-HSH-GbE-LOM

Jetziger Stand:
Server mit altem Kernel gestartet, alles läuft.
- Virtual Environment 8.2.4
- Läuft aktuell Kernel 6.2.16-20-pve

Im folgenden Bild einmal die Kernel die im Menü verfügbar waren, der markierte wurde jetzt zum booten genutzt.
kernel-list.jpg


Meine wichtigste Frage ist erstmal:
Wie stelle ich diesen Stand als safe-state fest?
Wie pinne ich sozusagen diese Kernel Version als Standard zum Starten, falls das geht?

Dann des weiteren:
Wie kann ich das ganze auf lange Sicht beheben, denn das ist ja eher eine Frickellösung, als ein richtiger Fix...

Vielen Dank!
 
Mit proxmox-boot-tool kernel pin [DEINEVERSION].
Du kannst die installierten Kernel damit auch abfragen: proxmox-boot-tool kernel list
 
Mit proxmox-boot-tool kernel pin [DEINEVERSION].
Du kannst die installierten Kernel damit auch abfragen: proxmox-boot-tool kernel list
Danke! Jetzt bootet er direkt mit dem richtigen Kernel, das erspart mir schon einiges Leid.

Interessante Erkenntnis:

Wenn ich versuche, mit Kernel 6-8-12-1-pve zu starten, bleibt der Server bei folgendem hängen:
Auch nach Minuten tut sich nichts und Interessanterweise, haut es ein paar Sekunden nach Boot mit dem Kernel mein ganzes W-LAN raus, 3 mal getestet. Mache ich die Kiste aus geht das W-LAN direkt. Habe ich nur bei Boot mit diesem Kernel, Problem noch nie aufgetreten...
boot.jpg
 
Das ist richtig, so wie du schon bereits erkannt hast liegt das Problem beim Kompilieren des Netzwerkkartentreibers während der Installation des neuen Proxmox Kernel package. Ich konnte aus deinem vorigen Post herauslesen, dass du an einem Punkt das r8168-dkms package installiert hast, welches nun jedoch beim kompilieren fehlschlägt.

Du hast auch beschrieben, dass du nun r8169 für deine NIC verwendest, ist das noch aktuell?

Wenn ja, würde ich dir vorsichtig dazu raten, dass du eine neuere Version der packages proxmox-default-headers und r8168-dkms installierst (wenn du diesen Treiber weiterverwenden willst/für deine spezifische Karte gebraucht wird/am stabilsten läuft), und natürlich auch noch den r8169 Treiber auf die blacklist setzt (wenn du das nicht schon gemacht hast).

Andernfalls, wenn du nur mehr das in-tree (d.h. im Kernel enthalten) kernel module r8169 für deine NIC verwenden willst, kannst du das package für den anderen Treiber entfernen indem du apt purge r8168-dkms ausführst.
Hallo nochmal, gerade läuft erstmal alles, aber nur hingefrickelt. Ich plane eine anständige Intel 2.5G NIC zu kaufen und die Realtek auf dem Board im Bios zu deaktivieren, damit ich damit endlich keine Probleme mehr habe.

Gibt es da etwas besonderes worauf ich achten muss, wie verschiedene Arten von NICs o.Ä.? Oder einfach hauptsache sie passt in den PCIe slot und ist von Intel?


Beste Grüße!
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!