[SOLVED] Proxmox zfs kernel downgrade

ericnivek

Member
Mar 23, 2021
4
0
6
Hello!

First time posting.

I have run into a similar problem as others have with EVE-NG. The general consensus is that downgrading to kernel 5.11.22-7-pve will resolve the issue. However, even after following instructions from other posts (Proxmox 7.1 downgrading kernel) my kernel is still not downgrading. I remember reading somewhere that if you are running Proxmox on zfs everything is different?

Any help, suggestions, or comments on things I may have done wrong trying to downgrade kernel to 5.11.22-7-pve would be much appreciated.

Below are the steps I have already taken.

My zpool status:
Code:
root@pve:~# zpool status
  pool: rpool
 state: ONLINE
  scan: scrub repaired 0B in 00:00:20 with 0 errors on Sun Apr 10 00:24:22 2022
config:

        NAME                                                     STATE     READ WRITE CKSUM
        rpool                                                    ONLINE       0     0     0
          mirror-0                                               ONLINE       0     0     0
            ata-Samsung_SSD_870_EVO_250GB_S61VNJ0NC11320L-part3  ONLINE       0     0     0
            ata-Samsung_SSD_870_EVO_250GB_S61VNJ0NC11280E-part3  ONLINE       0     0     0

errors: No known data errors

My grep menuentry:
Code:
root@pve:~# grep menuentry /boot/grub/grub.cfg
if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
  menuentry_id_option=""
export menuentry_id_option
menuentry 'Proxmox VE GNU/Linux' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-da9251eb13700353' {
submenu 'Advanced options for Proxmox VE GNU/Linux' $menuentry_id_option 'gnulinux-advanced-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.15.30-1-pve' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.30-1-pve-advanced-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.15.30-1-pve (recovery mode)' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.30-1-pve-recovery-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.15.27-1-pve' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.27-1-pve-advanced-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.15.27-1-pve (recovery mode)' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.27-1-pve-recovery-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.13.19-6-pve' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.13.19-6-pve-advanced-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.13.19-6-pve (recovery mode)' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.13.19-6-pve-recovery-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.13.19-3-pve' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.13.19-3-pve-advanced-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.13.19-3-pve (recovery mode)' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.13.19-3-pve-recovery-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.11.22-7-pve' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.22-7-pve-advanced-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.11.22-7-pve (recovery mode)' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.22-7-pve-recovery-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.11.22-4-pve' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.22-4-pve-advanced-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.11.22-4-pve (recovery mode)' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.22-4-pve-recovery-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.11.22-3-pve' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.22-3-pve-advanced-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.11.22-3-pve (recovery mode)' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.22-3-pve-recovery-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.11.22-2-pve' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.22-2-pve-advanced-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.11.22-2-pve (recovery mode)' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.22-2-pve-recovery-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.4.128-1-pve' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.128-1-pve-advanced-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.4.128-1-pve (recovery mode)' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.128-1-pve-recovery-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.4.106-1-pve' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.106-1-pve-advanced-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.4.106-1-pve (recovery mode)' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.106-1-pve-recovery-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.4.103-1-pve' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.103-1-pve-advanced-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.4.103-1-pve (recovery mode)' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.103-1-pve-recovery-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.4.73-1-pve' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.73-1-pve-advanced-da9251eb13700353' {
        menuentry 'Proxmox VE GNU/Linux, with Linux 5.4.73-1-pve (recovery mode)' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.73-1-pve-recovery-da9251eb13700353' {
menuentry "Memory test (memtest86+)" {
menuentry "Memory test (memtest86+, serial console 115200)" {
menuentry "Memory test (memtest86+, experimental multiboot)" {
menuentry "Memory test (memtest86+, serial console 115200, experimental multiboot)" {
menuentry 'System setup' $menuentry_id_option 'uefi-firmware' {

My grub config :
Code:
GRUB_DEFAULT="gnulinux-advanced-da9251eb13700353>gnulinux-5.11.22-7-pve-advanced-da9251eb13700353"
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
GRUB_CMDLINE_LINUX="root=ZFS=rpool/ROOT/pve-1 boot=zfs"

My boot tool:
Code:
root@pve:/etc/default# proxmox-boot-tool kernel list
Manually selected kernels:
5.11.22-7-pve

Automatically selected kernels:
5.13.19-6-pve
5.15.27-1-pve
5.15.30-1-pve
 
Are you sure that you're using grub as a bootloader? With ZFS on root, there's a good chance that you use systemd-boot [1].
Could you post the output of: proxmox-boot-tool status?
You should be able to use proxmox-boot-tool to pin a kernel (see proxmox-boot-tool help):
Code:
# proxmox-boot-tool kernel pin 5.11.22-7-pve
# proxmox-boot-tool refresh

[1] https://pve.proxmox.com/pve-docs/pve-admin-guide.html#sysboot
 
Thanks for the reply,

This is my out for proxmox-boot-tool status:
Code:
root@pve:~# proxmox-boot-tool status
Re-executing '/usr/sbin/proxmox-boot-tool' in new private mount namespace..
System currently booted with uefi
51F1-7607 is configured with: uefi (versions: 5.11.22-7-pve, 5.13.19-6-pve, 5.15.27-1-pve, 5.15.30-1-pve)
51F1-A6FB is configured with: uefi (versions: 5.11.22-7-pve, 5.13.19-6-pve, 5.15.27-1-pve, 5.15.30-1-pve)

Its still booting with:
Code:
Linux pve 5.15.30-1-pve #1 SMP PVE 5.15.30-1 (Tue, 29 Mar 2022 10:36:02 +0200) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Apr 12 18:57:10 CEST 2022 on pts/0

Sorry if I'm doing something wrong, I'm fairly new to this.
 
What was the output of:
Code:
proxmox-boot-tool kernel pin 5.11.22-7-pve
and..
Code:
proxmox-boot-tool refresh

Could you also post the output of the following (having already run the above commands):
proxmox-boot-tool kernel list

I just tested these commands on a system with the 5.15.27-1-pve kernel installed and upon the next boot, It loaded 5.11.22-7-pve.
Prior to rebooting, the output of 'proxmox-boot-tool kernel list was:
Code:
root@pve7:~# proxmox-boot-tool kernel list
Manually selected kernels:
5.11.22-7-pve

Automatically selected kernels:
5.13.19-6-pve
5.15.27-1-pve
5.15.30-1-pve

Pinned kernel:
5.11.22-7-pve
 
Hello,

Below is my output for the requested commands:
Code:
root@pve:~# proxmox-boot-tool kernel pin 5.11.22-7-pve
Set kernel '5.11.22-7-pve' in /etc/kernel/proxmox-boot-pin. Use the 'refresh' command to update the ESPs.


root@pve:~# proxmox-boot-tool refresh
Running hook script 'proxmox-auto-removal'..
Running hook script 'zz-proxmox-boot'..
Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
Copying and configuring kernels on /dev/disk/by-uuid/51F1-7607
        Copying kernel and creating boot-entry for 5.11.22-7-pve
        Copying kernel and creating boot-entry for 5.13.19-6-pve
        Copying kernel and creating boot-entry for 5.15.27-1-pve
        Copying kernel and creating boot-entry for 5.15.30-1-pve
Copying and configuring kernels on /dev/disk/by-uuid/51F1-A6FB
        Copying kernel and creating boot-entry for 5.11.22-7-pve
        Copying kernel and creating boot-entry for 5.13.19-6-pve
        Copying kernel and creating boot-entry for 5.15.27-1-pve
        Copying kernel and creating boot-entry for 5.15.30-1-pve


root@pve:~# proxmox-boot-tool kernel list
.Manually selected kernels:
5.11.22-7-pve

Automatically selected kernels:
5.13.19-6-pve
5.15.27-1-pve
5.15.30-1-pve

Pinned kernel:
5.11.22-7-pve

Afterwards i am booting with:

Code:
Linux pve 5.15.30-1-pve #1 SMP PVE 5.15.30-1 (Tue, 29 Mar 2022 10:36:02 +0200) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Apr 13 07:51:01 CEST 2022 on pts/0
root@pve:~#
 
I'm not sure why this doesn't work for you, as it works fine on my system. Maybe you could try manually selecting the kernel at boot and seeing if it remains selected after that?
 
So I was able to manually select the kernel at boot to 5.11.22-7-pve. When I reboot the system, it reverts back to 5.15.30-1-pve, which happens to be the last one in the list of kernels. For now, I can just manually pick 5.11.22-7-pve as I don't reboot my system often.

At least EVE-NG works again! Thanks for working through this with me.
 
I am currently facing the exact same issue but my server is headless and I am completely stuck on this: any update on how to solve this issue? Thx.
 
Last edited:
exactly the same situaltion , proxmox-boot-tool kernel pin doesn't effect boot entry thus doesn't pin any old version you want to boot. it just not working correctly as it literal said
 
proxmox-boot-tool manage uefi systemd bootloader, if you boot in legacy/bios mode, grub bootloader is used and it ignore systemd config set by proxmox-boot-tool.
You need check current bootloader used. grub blue screen (bios & uefi) or systemd black screen (can be uefi only)
 

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!