Enhanceio Cache breaks after each kernel update
Opened this issue · 5 comments
To solve:
- remove enhanceio from hooks in /etc/mkinitcpio.conf
- mkinitcpio -p linux to regenerate
- Uninstall enhanceio-dkms-git (arch linux)
- reboot
- find / -iname 'enhanceio' -exec rm -rf {} ; <-- to remove all leftover files
- reboot
- 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 ?