Probleme beim PVE-Kernel-Upgrade

Yann Decay

Member
Mar 28, 2021
31
0
11
Hallo Leute,

benötige mal eure Hilfe zwecks einem Kernel Upgrade von 6.8.8-4-pve zu 6.8.12-1-pve. Leider bekomme ich den neusten Kernel nicht sauber installiert, wobei meine (vermutlich zu kleine) Boot-Partition -> 512MB, wohl der anfängliche Auslöser war.

Zunächst sah es so aus das er zu wenig Platz hatte das temporär zu entpacken. Da ein Autoremove (auch mit --purge) fehlgeschlagen ist habe ich manuell ein paar alte Kernel aus /boot (inkl. der jew. config, vmlinuz, initrd & system.map) gelöscht. Alle bis auf den aktuellen und den wohl schon halb installierten 6.8.12.1. Dann sah ein Dist-Upgrade weiterhin so aus:

Code:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
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: autoinstall for kernel 6.8.12-1-pve was skipped since the kernel headers for this kernel do not seem to be install
ed.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 6.8.12-1-pve /boot/vmlinuz-6.8.12-1-pve
update-initramfs: Generating /boot/initrd.img-6.8.12-1-pve
zstd: error 70 : Write error : cannot write block : No space left on device
E: mkinitramfs failure zstd -q -9 -T0 70
update-initramfs: failed for /boot/initrd.img-6.8.12-1-pve with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
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
Errors were encountered while processing:
 proxmox-kernel-6.8.12-1-pve-signed
 proxmox-kernel-6.8
E: Sub-process /usr/bin/dpkg returned an error code (1)

Dann hab ich gedacht, was solls, ich lösche auch noch den neuen "halb" installierten. Jetzt erscheint zumindest keine Meldung mehr wegen zu wenig Speicherplatz aber ein dist-upgrade schlägt weiter fehl:

Code:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
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: autoinstall for kernel 6.8.12-1-pve was skipped since the kernel headers for this kernel do not seem to be install
ed.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 6.8.12-1-pve /boot/vmlinuz-6.8.12-1-pve
update-initramfs: Generating /boot/initrd.img-6.8.12-1-pve
grep: /boot/config-6.8.12-1-pve: No such file or directory
W: zstd compression (CONFIG_RD_ZSTD) not supported by kernel, using gzip
grep: /boot/config-6.8.12-1-pve: No such file or directory
E: gzip compression (CONFIG_RD_GZIP) not supported by kernel
update-initramfs: failed for /boot/initrd.img-6.8.12-1-pve with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
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
Errors were encountered while processing:
 proxmox-kernel-6.8.12-1-pve-signed
 proxmox-kernel-6.8
E: Sub-process /usr/bin/dpkg returned an error code (1)

Im Log steht das die kernel headers nicht installiert seien. Also mal versucht die aktuellen mit "apt install pve-headers" zu installieren. Das bricht allerdings ab. Hab die Fehlermeldung mal auf das wesentliche gekürzt, da laufen vorher noch ein paar checks, sieht alles gut aus, bis dann das erscheint:

Code:
checking whether STACK_FRAME_NON_STANDARD is defined... yes
checking whether pde_data() is lowercase... yes
checking whether fops->fallocate() exists... configure: error:
        *** None of the expected "file_fallocate" interfaces were detected.
        *** This may be because your kernel version is newer than what is
        *** supported, or you are using a patched custom kernel with
        *** incompatible modifications.
        ***
        *** ZFS Version: zfs-2.1.11-1
        *** Compatible Kernels: 3.10 - 6.2


Building module:
Cleaning build area...(bad exit status: 2)
make -j20 KERNELRELEASE=6.8.12-1-pve...(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.8.12-1-pve (x86_64)
Consult /var/lib/dkms/zfs/2.1.11/build/make.log for more information.
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
Setting up proxmox-headers-6.8.12-1-pve (6.8.12-1) ...
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
Setting up proxmox-headers-6.8 (6.8.12-1) ...
Setting up proxmox-default-headers (1.1.0) ...
Setting up pve-headers (8.2.0) ...
Errors were encountered while processing:
 proxmox-kernel-6.8.12-1-pve-signed
 proxmox-kernel-6.8
E: Sub-process /usr/bin/dpkg returned an error code (1)


In der im Fehler genannten make.log-Datei steht allerdings nur:

Code:
DKMS make.log for zfs-2.1.11 for kernel 6.8.12-1-pve (x86_64)
Fri Aug  9 01:59:11 AM CEST 2024
make: *** No targets specified and no makefile found.  Stop.


Wie bekomme ich das gelöst?
 
Das sollte ausreichen, bei mir liegen mit drei 6.8. + einem 6.5. Kernel gerade 328 MB darin. Schau mal nach, ob da noch uralte "Leichen" herumliegen, einfach mit ls -Al /boot/. Sofern "apt purge ..." verweigert, kann man dort auch einfach Dateien löschen, um wieder arbeitsfähig zu werden.

Achtung: das ist eine brutale Holzhammermethode und natürlich relativ gefährlich...

Viel Erfolg!

Edit: okay, sinnloser Post - du kennst das ja schon alles. (Ich lösche nicht gerne Posts, daher bleibt das hier dennoch stehen...)
 
Last edited:
was ich allerdings nicht verstehe ist das wenn ich ein update-initramfs -u mache er dennoch sagt das er kein Platz hat.

Code:
update-initramfs: Generating /boot/initrd.img-6.8.8-4-pve
zstd: error 70 : Write error : cannot write block : No space left on device
E: mkinitramfs failure zstd -q -9 -T0 70
update-initramfs: failed for /boot/initrd.img-6.8.8-4-pve with 1.


mein /boot sieht mittlerweile so aus:

Code:
total 76829
drwxr-xr-x  5 root root        9 Aug  9 09:19 .
drwxr-xr-x 18 root root       26 Jan 21  2024 ..
-rw-r--r--  1 root root   286835 Jul 26 13:15 config-6.8.8-4-pve
drwxr-xr-x  3 root root      512 Jan  1  1970 efi
drwxr-xr-x  5 root root        8 Aug  9 00:01 grub
-rw-r--r--  1 root root 61743064 Jul 27 21:16 initrd.img-6.8.8-4-pve
drwxr-xr-x  2 root root        8 Jul 27 21:16 pve
-rw-r--r--  1 root root  8338194 Jul 26 13:15 System.map-6.8.8-4-pve
-rw-r--r--  1 root root 14150760 Jul 26 13:15 vmlinuz-6.8.8-4-pve

pveversion -v

Code:
proxmox-ve: 8.2.0 (running kernel: 6.8.8-4-pve)
pve-manager: 8.2.4 (running version: 8.2.4/faa83925c9641325)
proxmox-kernel-helper: 8.1.0
proxmox-kernel-6.8.8-4-pve-signed: 6.8.8-4
ceph-fuse: 16.2.11+ds-2
corosync: 3.1.7-pve3
criu: 3.17.1-2
glusterfs-client: 10.3-5
ifupdown: residual config
ifupdown2: 3.2.0-1+pmx9
libjs-extjs: 7.0.0-4
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.5.1
libproxmox-backup-qemu0: 1.4.1
libproxmox-rs-perl: 0.3.3
libpve-access-control: 8.1.4
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.0.7
libpve-cluster-perl: 8.0.7
libpve-common-perl: 8.2.2
libpve-guest-common-perl: 5.1.4
libpve-http-server-perl: 5.1.0
libpve-network-perl: 0.9.8
libpve-rs-perl: 0.8.9
libpve-storage-perl: 8.2.3
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 6.0.0-1
lxcfs: 6.0.0-pve2
novnc-pve: 1.4.0-3
proxmox-backup-client: 3.2.7-1
proxmox-backup-file-restore: 3.2.7-1
proxmox-firewall: 0.5.0
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.2.3
proxmox-mini-journalreader: 1.4.0
proxmox-offline-mirror-helper: 0.6.6
proxmox-widget-toolkit: 4.2.3
pve-cluster: 8.0.7
pve-container: 5.1.12
pve-docs: 8.2.3
pve-edk2-firmware: not correctly installed
pve-esxi-import-tools: 0.7.1
pve-firewall: 5.0.7
pve-firmware: 3.13-1
pve-ha-manager: 4.0.5
pve-i18n: 3.2.2
pve-qemu-kvm: 9.0.2-2
pve-xtermjs: 5.3.0-3
qemu-server: 8.2.4
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.4-pve1
 
Wie kann ich das überprüfen?

df -i zeigt mir an:

Code:
Filesystem                              Inodes  IUsed      IFree IUse% Mounted on
bpool/BOOT/debian                        37122    362      36760    1% /boot
/dev/sda1                                    0      0          0     - /boot/efi

Ich hatte /dev/sda1 auch mal gemountet, aber da steckt auch nur der 6.8.8-4 drin.

Code:
total 74128
drwxrwxrwt 9 root root      180 Aug  9 09:31 ..
drwxr-xr-x 5 root root     4096 Aug  9 00:01 grub
-rwxr-xr-x 1 root root 61743064 Jul 27 21:16 initrd.img-6.8.8-4-pve
-rwxr-xr-x 1 root root 14150760 Jul 26 13:15 vmlinuz-6.8.8-4-pve
drwxr-xr-x 4 root root     4096 Jan  2  2024 EFI
drwxr-xr-x 4 root root     4096 Jan  1  1970 .
 
mhh gute Frage. Habs mal entfernt. Der hatte dann zwar wieder gemeckert weil initramfs updaten wollte aber der /var/lib/dkms Ordner hat nun zumindest nur noch 2 Dateien (mok.key und mok.pub). Danach habe ich mal neugestartet.

Frage mich allerdings weiterhin warum er initramfs nicht wegen Mangel an Speicherplatz updaten will. Bei einem Neustart findet er auch weiterhin den nicht existenten 6.8.12-1-pve Kernel, was wohl daran liegt das dieser noch in der grub.cfg steht. Aber die habe ich mal lieber nicht angefasst. Oder muss die Einträge manuell entfernen?

Weil er greift ja bei ner installation/upgrade auch auf diesen nicht-existenten Kernel zu:

Code:
Setting up initramfs-tools (0.142) ...
update-initramfs: deferring update (trigger activated)
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.
dkms: autoinstall for kernel: 6.8.12-1-pve.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 6.8.12-1-pve /boot/vmlinuz-6.8.12-1-pve
update-initramfs: Generating /boot/initrd.img-6.8.12-1-pve
grep: /boot/config-6.8.12-1-pve: No such file or directory
W: zstd compression (CONFIG_RD_ZSTD) not supported by kernel, using gzip
grep: /boot/config-6.8.12-1-pve: No such file or directory
E: gzip compression (CONFIG_RD_GZIP) not supported by kernel
update-initramfs: failed for /boot/initrd.img-6.8.12-1-pve with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
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.
 
Last edited:
Ok ich Depp habe wohl nicht richtig geschaut. das block device ist zwar 512M.

lsblk:
Code:
sda          8:0    0 93.2G  0 disk
├─sda1       8:1    0  512M  0 part /boot/efi
├─sda2       8:2    0    1G  0 part
├─sda3       8:3    0   16G  0 part
└─sda4       8:4    0 75.7G  0 part

Aber das Filesystem wohl nur 100M :eek:

df -h:
Code:
Filesystem                           Size  Used Avail Use% Mounted on
bpool/BOOT/debian                    101M   83M   18M  83% /boot

zfs list:
Code:
NAME                                             USED  AVAIL  REFER  MOUNTPOINT
bpool                                            814M  17.9M    96K  /boot
bpool/BOOT                                       812M  17.9M    96K  none
bpool/BOOT/debian                                812M  17.9M  82.8M  /boot


Wie bekomm ich die Kuh jetzt am besten vom Eis? Die 16GB Partition (sda3) könnte man übrigens, wenn nötig, irgendwie verwenden. Die war ursprünglich mal für Swap gedacht, ist aber aktuell nicht in Nutzung.

Da mein System ja ohne Probleme bootet will ich nix unüberlegtes machen zumal ich von dem Bootloader-Kram nicht so die Ahnung habe, auch beim Thema ZFS bin ich noch recht neu.
 
Leider keine Ahnung, wie man da am besten und sichersten rangeht.

Interessant wäre ggf., wie genau das System aufgesetzt wurde und vor allem warum so; anstatt einer Standard-Installation über die ISO.
 
mh schade, vielleicht weiß noch jemand anderes Rat. Funktioniert ja alles, nur muss mein boot filesystem eben irgendwie gesäubert und bestenfalls vergrößert werden...

Hatte in ner Live Umgebung partitioniert und den Zpool erstellt, Debian gebootstrappt und dann den Rest installiert u.a. mit dem Wiki. Und Warum? Naja ursprünglich wollte ich alles verschlüsseln aber mich dann aber im letzten Moment doch dagegen entschieden, ansonsten wie auch Wiki steht, um ne eigene Partitionierung zu machen. Da war der manuelle Weg eben flexibler, zumal es da ja auch zuhauf Anleitungen gibt und ja auch das Wiki die Möglichkeit offen lässt. Das lief ja auch so für 8 Monate ohne irgendein Problem. Updates waren auch nie ein Problem.
 

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!