How to Pin a Machine to Proxmox 8.1 (or Any Previous Version)?

Sep 1, 2022
178
26
28
40
Hello,

I have a node running PVE 8.1, and it uses a DKMS module for Intel iGPU experimental support. That module isn't supported in Kernel 6.8. Likewise, I'd like to experiment with an actual NVIDIA GRID/vGPU setup on another node, and my understanding is that might be troublesome in 6.8 as well, at least for now.

Is there a way to pin an entire Proxmox install on a node to the latest version of Proxmox 8.1 with the latest 6.5.x kernel in the enterprise repo? (I have a subscription). I'd want to be able to run apt dist-upgrade and get the latest version of all the packages available to 8.1.

I know I could just boot into the older kernel in 8.2 and try doing that, but it seems like a recipe for instability and unpredictability. I don't mind staying on 8.1 on nodes that need it until third party support catches up. :)

Thanks!
 
  • Like
Reactions: ikarlo
Hello,

I have a node running PVE 8.1, and it uses a DKMS module for Intel iGPU experimental support. That module isn't supported in Kernel 6.8. Likewise, I'd like to experiment with an actual NVIDIA GRID/vGPU setup on another node, and my understanding is that might be troublesome in 6.8 as well, at least for now.

Is there a way to pin an entire Proxmox install on a node to the latest version of Proxmox 8.1 with the latest 6.5.x kernel in the enterprise repo? (I have a subscription). I'd want to be able to run apt dist-upgrade and get the latest version of all the packages available to 8.1.

I know I could just boot into the older kernel in 8.2 and try doing that, but it seems like a recipe for instability and unpredictability. I don't mind staying on 8.1 on nodes that need it until third party support catches up. :)

Thanks!
Did you ever figure this out? I also have a dkms module and would like to be pinned to a specific version and specific kernel version until I can safely upgrade.
 
Yes. Sorry I didn't come back here. I've been aggressively trying to figure out how to make SR-IOV go the last week or so and been posting so much that I kind of lost track.
See: https://forum.proxmox.com/threads/proxmox-ve-8-2-released.145723/post-658106

Let me see if I can write up some better instructions than my WOW IT WORKED screeching in that thread, for anyone else who searches their way to this:

First, check what kernels you have installed:
Code:
root@andromeda2:~# proxmox-boot-tool kernel list
Manually selected kernels:
None.

Automatically selected kernels:
6.5.13-5-pve
6.8.4-2-pve

If the latest 6.5.13 kernel (shown above) is not installed, then you'll need to grab it with apt.
Code:
# apt search proxmox-kernel-6.5.13-5
Sorting... Done
Full Text Search... Done
proxmox-kernel-6.5.13-5-pve/stable,now 6.5.13-5 amd64 [installed]
  Proxmox Kernel Image

proxmox-kernel-6.5.13-5-pve-signed/stable 6.5.13-5 amd64
  Proxmox Kernel Image (signed)

proxmox-kernel-6.5.13-5-pve-signed-template/stable 6.5.13-5 amd64
  Template for signed kernel package

Unless I misunderstand something (and I'd really like to be corrected if that's the case), you only need the pre-signed one if you're doing secure boot, otherwise, install the first one there (labelled [installed], above).

If you're going to be compiling anything (like a DKMS module), you'll need the headers. Get the one that matches the version of the kernel you installed.


Code:
# apt search proxmox-headers-6.5.13
Sorting... Done
Full Text Search... Done
proxmox-headers-6.5.13-1-pve/stable 6.5.13-1 amd64
  Proxmox Kernel Headers

proxmox-headers-6.5.13-2-pve/stable 6.5.13-2 amd64
  Proxmox Kernel Headers

proxmox-headers-6.5.13-3-pve/stable 6.5.13-3 amd64
  Proxmox Kernel Headers

proxmox-headers-6.5.13-4-pve/stable 6.5.13-4 amd64
  Proxmox Kernel Headers

proxmox-headers-6.5.13-5-pve/stable,now 6.5.13-5 amd64 [installed,automatic]
  Proxmox Kernel Headers

Now list the kernels again using the boot tool. If it doesn't show up, reboot. Make sure it shows up before going further.

Once you see the 6.5.13-5 kernel in the list, you'll need to pin it.
Code:
proxmox-boot-tool kernel pin 6.5.13-5-pve
proxmox-boot-tool refresh

Reboot again. Check uname -a and the proxmox-boot-tool to make sure it worked.
Code:
proxmox-boot-tool kernel list
Manually selected kernels:
None.

Automatically selected kernels:
6.5.13-5-pve
6.8.4-2-pve

Pinned kernel:
6.5.13-5-pve


root@andromeda2:~# uname -a
Linux andromeda2 6.5.13-5-pve #1 SMP PREEMPT_DYNAMIC PMX 6.5.13-5 (2024-04-05T11:03Z) x86_64 GNU/Linux

There's actually more options for pinning a kernel. You can set it to unpin after a certain amount of time, for instance, in case something goes wrong and you can't get back in and reverse it.

That should be enough to keep you on the last 6.5.13-5 kernel until you manually unpin it. :)
 

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!