RemixVSL / iomemory-vsl

Updated Fusion-io iomemory VSL Linux (version 3.2.16) driver for recent kernels.
150 stars 27 forks source link

make dkms for specific kernel? #105

Closed sotiris-bos closed 2 years ago

sotiris-bos commented 2 years ago

Hi, I updated my system before updating the driver and dkms failed to compile for the new kernel.

After pulling the latest master and trying to build with make dkms, make tries to build for the current kernel and fails because the sources are missing.

How can I force it to build for the new kernel that is not running yet? (I updated the system and have not rebooted yet)

snuf commented 2 years ago

Hi @sotiris-bos I think you're looking for this: https://man.archlinux.org/man/extra/dkms/dkms.8.en#k to add to the dkms install -m <module> -v <version> which you can get with dkms status.

sotiris-bos commented 2 years ago

Hi @sotiris-bos I think you're looking for this: https://man.archlinux.org/man/extra/dkms/dkms.8.en#k to add to the dkms install -m <module> -v <version> which you can get with dkms status.

Wouldn't that install the older module version to the new kernel version though? (that failed in my case)

What I am looking for is building the new module source against the new kernel that is going to run on the next reboot.

Ultimately I rebooted and ran make dkms after the new kernel was loaded but that meant that there was no driver for the IODrive on the first reboot.

Tourman36 commented 2 years ago

I've always had to reboot prior to compiling for a new kernel. Yes unfortunately you will come up without ioDrive on first boot.

On Sat, May 14, 2022 at 3:49 AM sotiris-bos @.***> wrote:

Hi @sotiris-bos https://github.com/sotiris-bos I think you're looking for this: https://man.archlinux.org/man/extra/dkms/dkms.8.en#k to add to the dkms install -m -v which you can get with dkms status.

Wouldn't that install the older module version to the new kernel version though? (that failed in my case)

What I am looking for is building the new module source against the new kernel that is going to run on the next reboot.

Ultimately I rebooted and ran make dkms after the new kernel was loaded but that meant that there was no driver for the IODrive on the first reboot.

— Reply to this email directly, view it on GitHub https://github.com/RemixVSL/iomemory-vsl/issues/105#issuecomment-1126665350, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO7IG5DYMSPRLFU5OLPZWXDVJ5LJRANCNFSM5V3ZKNNA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

snuf commented 2 years ago

@sotiris-bos I linked to the -k flag in the manual. The -k flag allows you to state the kernel you want dkms to do something for. So installing for a newer kernel is quite possible.

The way to do it would be to remove the existing module from dkms. This does not unload the module, it just removes it from dkms. After which you install the module for your current kernel with make dkms, and manually add the kernel you're not running atm with dkms install -m <module> -v <version> -k <kernel>.

snuf commented 2 years ago

@sotiris-bos @Tourman36 am closing this one, as it is possible, just beyond the scope of what we do. Otherwise the bells and whistles need to be added to the already somewhat bloated module_operations.sh script for dkms installation.