Upgraded from Rocky 9.6 to Rocky 9.7 today and I think I found a solution and putting it out for peer review (did I make it worse?)
After upgrading to Rocky 9.7 frigate failed to load and there were no apex kernel modules
Note that in the past I did use Kyles google-coral-dms
Way back in I think Rocky 9.4
sudo dnf copr enable kylegospo/google-coral-dkms
sudo dnf install gasket-dkms
So today after patching I did
dnf erase gasket-dkms
Made sure old stuff was gone
Then
dnf install gasket-dkms
Note that I did NOT modify line 57 of gasket_page_table.c
I left as is MODULE_IMPORT_NS(DMA_BUF)
I did change line 161 of gasket_interrupt.c (0c900b8)
vi gasket_interrupt.c +161
if (ctx)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,8,0) || \
(defined RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(9, 7))
eventfd_signal(ctx);
#else
eventfd_signal(ctx, 1);
#endif
added this part
(defined RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(9, 7))
Next I changed gasket_core.c (#7)
vi gasket_core.c +1846
Replaced the if statement block
-#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0)
- internal->class = class_create(driver_desc->module, driver_desc->name);
-#else
- internal->class = class_create(driver_desc->name);
with
internal->class = class_create(driver_desc->name);
Afterwards
dkms autoinstall
modprobe apex
modprobe gasket
Seems to have worked, hoping I didnt miss a step.
Upgraded from Rocky 9.6 to Rocky 9.7 today and I think I found a solution and putting it out for peer review (did I make it worse?)
After upgrading to Rocky 9.7 frigate failed to load and there were no apex kernel modules
Note that in the past I did use Kyles google-coral-dms
Way back in I think Rocky 9.4
sudo dnf copr enable kylegospo/google-coral-dkmssudo dnf install gasket-dkmsSo today after patching I did
dnf erase gasket-dkmsMade sure old stuff was gone
Then
dnf install gasket-dkmsNote that I did NOT modify line 57 of gasket_page_table.c
I left as is MODULE_IMPORT_NS(DMA_BUF)
I did change line 161 of gasket_interrupt.c (0c900b8)
vi gasket_interrupt.c +161if (ctx)#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,8,0) || \(defined RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(9, 7))eventfd_signal(ctx);#elseeventfd_signal(ctx, 1);#endifadded this part
(defined RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(9, 7))Next I changed gasket_core.c (#7)
vi gasket_core.c +1846
Replaced the if statement block
-#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0)- internal->class = class_create(driver_desc->module, driver_desc->name);-#else- internal->class = class_create(driver_desc->name);with
internal->class = class_create(driver_desc->name);Afterwards
dkms autoinstallmodprobe apexmodprobe gasketSeems to have worked, hoping I didnt miss a step.