stec-inc/EnhanceIO

Enhanceio Cache breaks after each kernel update

Opened this issue · 5 comments

To solve:

  1. remove enhanceio from hooks in /etc/mkinitcpio.conf
  2. mkinitcpio -p linux to regenerate
  3. Uninstall enhanceio-dkms-git (arch linux)
  4. reboot
  5. find / -iname 'enhanceio' -exec rm -rf {} ; <-- to remove all leftover files
  6. reboot
  7. redo initial setup according to arch linux wiki

The problem is that the new kernel won't load the modules and booting gives fsck errors. Reinstalling the package will recompile the modules.

You should utilize systemd to auto-recompile the modules whenever the kernel is updated.
/usr/lib/systemd/system/enhanceio.path

[Unit]
Description=Auto rebuild enhanceio modules on kernel updates.

[Path]
PathChanged=/boot/initramfs-linux.img

[Install]
WantedBy=multi-user.target

With
/usr/lib/systemd/system/enhanceio.service

[Unit]
Description=Auto rebuild enhanceio modules on kernel updates.

[Service]
Type=oneshot
ExecStart=/usr/lib/enhanceio/rebuild.sh

/usr/lib/enhanceio/rebuild.sh

#!/bin/bash
Kernel_Version="$(file /boot/vmlinuz-linux|awk '{print $9}')"
Module_Version="$(pacman -Q enhanceio-dkms-git|head -n 1|awk '{print $2}')"
dkms remove -m enhanceio -v $Module_Version --all
dkms install -m enhanceio -k $Kernel_Version -v $Module_Version

systemctl enable enhanceio-build.path

or something to that effect

Just wondering, what kind of GNU/Linux distribution is not re-building DKMS kernel module on kernel upgrade??

dksm tries to rebuild but can't find the .so files and errors out.

Which makes it a packaging issue, isn't it?

iirc it tried to look in the new kernel's directory for the modules, which aren't there. How is this a packaging error exactly ?