Trixie Updates Question

spetrillo

Member
Feb 15, 2024
284
15
18
Hello all,

How do Trixie kernel updates get folded into Proxmox? For example I have a Debian Trixie 13.2 server. I have an Intel E610 10g adapter in the server. The kernel driver for this is old, so I can compile a more recent driver and then modinfo it in. With Proxmox 9, and using your own kernel, that ability to compile a more recent driver fails. So then how do kernel updates get updated in the Proxmox kernel and about how long do we wait for these updates?

Thanks,
Steve
 
What exactly does fail where? You have the pve-headers which let you compile modules all by yourself and blacklist existing ones. The reason that (in most cases) this step is taken very rarely is that you have to recompile everything once Proxmox releases a kernel update.*

Meanwhile you can try to get the upstream to get newer drivers with Trixie (trust me, thats gonna be a tough one, been there, done that!)
 
Last edited:
Unforunately the make fails bc its looking for linux headers and not PVE headers. Is there a way to edit the script to change this?

** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but
*** the signing key cannot be found. Module signing has been
*** disabled for this build.
make[1]: Entering directory '/usr/src/linux-headers-6.17.4-1-pve'
make[2]: Entering directory '/root/ixgbe-6.2.6/src'
CC [M] ixgbe_main.o
ixgbe_main.c: In function ‘ixgbe_down’:
ixgbe_main.c:8458:9: error: implicit declaration of function ‘del_timer_sync’; did you mean ‘dev_mc_sync’? [-Wimplicit-function-declaration]
8458 | del_timer_sync(&adapter->service_timer);
| ^~~~~~~~~~~~~~
| dev_mc_sync
ixgbe_main.c: In function ‘ixgbe_service_timer’:
ixgbe_main.c:10708:41: error: implicit declaration of function ‘from_timer’; did you mean ‘mod_timer’? [-Wimplicit-function-declaration]
10708 | struct ixgbe_adapter *adapter = from_timer(adapter, t, service_timer);
| ^~~~~~~~~~
| mod_timer
ixgbe_main.c:10708:64: error: ‘service_timer’ undeclared (first use in this function); did you mean ‘device_type’?
10708 | struct ixgbe_adapter *adapter = from_timer(adapter, t, service_timer);
| ^~~~~~~~~~~~~
| device_type
ixgbe_main.c:10708:64: note: each undeclared identifier is reported only once for each function it appears in
make[4]: *** [/usr/src/linux-headers-6.17.4-1-pve/scripts/Makefile.build:287: ixgbe_main.o] Error 1
make[3]: *** [/usr/src/linux-headers-6.17.4-1-pve/Makefile:2016: .] Error 2
make[2]: *** [/usr/src/linux-headers-6.17.4-1-pve/Makefile:248: __sub-make] Error 2
make[2]: Leaving directory '/root/ixgbe-6.2.6/src'
make[1]: *** [Makefile:248: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.17.4-1-pve'
make: *** [Makefile:111: default] Error 2
 
That doesnt look like anything related to Linux/PVE but instead to the certain Kernel calls which have been renamed? or rewritten between older and newer Kernels and your driver tries to call functions which have been renamed and thus the compilation fails. Did you try patching those functions?
 
I did not...this is getting to the limit of my compilation skills, so not sure if I want to keep going. What I also did is build a Debian 13.2 server with 6.17 kernel. I want to run through the process on this and see if it fails. Intel gets wonky when they hear Proxmox, but if they peeled back the onion its just Debian with a specialized kernel.
 
The Proxmox kernel is based on the Ubuntu kernel, not the Debian kernel. My guess would be that the driver version 6.2.6 is too old and no longer compatible with Linux kernel 6.17.

EDIT: Sorry for not adding anything new.
 
Last edited:
The Proxmox kernel is based on the Ubuntu kernel, not the Debian kernel. My guess would be that the driver version 6.2.6 is too old and no longer compatible with Linux kernel 6.17.

Ubuntu/Debian are binary compatible so that should not be a problem. The latter though is what i suspected in my previous post aswell.
@spetrillo You could try downgrade to an older kernel and try rebuild the module again but then you're stuck with an older kernel.
 
Last edited:
Ubuntu/Debian are binary compatible so that should not be a problem.
Are you sure? Allthough they share the same package format I always assumed that Ubuntu takes Debian ( I think unstable ) as base and customizing it, resulting in xases where binary compatibility is not guranteed any more

I am going to play around a bit more. Its really confusing that Proxmox uses Debian and Ubuntu.

It's actually quite smart. Many hardware vendors don't support Debian but Ubuntu so by using the Ubuntu kernel people can see whether their Hardware Supports running Proxmox. The Ubuntu-Kernel also has features Debian lacks like ZFS ( ZFS is not included in Debian kernel by default due to legal concerns).
But: Ubuntu is solely developed by one Company ( Canonical ) not a community project like Debian and has quite a lot of Anomalys ( like replacing regular deb packages with snap packages) which make sense for Canonicals business model but not for other projects. So it makes sense not to depend on Ububtu for anything expect the kernel ( which could be swapped should the need arise)
 
Last edited: