Marcos Alano Posted June 7 Posted June 7 Hi! I'm new in the forum, so I don't know if this is a bug or just a feature request. The idea is `armbian-upgrade` also runs dkms install, you know, like Ubuntu, so the zfs kernel module will be automatically building together with the kernel upgrade. Please, let me hear your thoughts about this. Maybe there is a flag to enable this already, or an open bug to implement the feature. 0 Quote
Werner Posted June 7 Posted June 7 Send PR here https://github.com/armbian/build/blob/main/packages/bsp/common/usr/bin/armbian-upgrade 0 Quote
Marcos Alano Posted June 7 Author Posted June 7 Thanks. I'm still analyzing the problem. It seems it has the hook under /etc/kernel, so it should call dkms normally. 0 Quote
Marcos Alano Posted 10 hours ago Author Posted 10 hours ago (edited) Hi @Werner It seems the problem is in another place. The unattended upgrade updates the kernel, but the dkms hooks are not installed. I just got a couple kernel updates, and neither of them ran the DKMS, and since I'm using ZFS, it causes serious problems since the ZFS module wouldn't be build, so after a reboot wouldn't load and I couldn't access the data in my disks. I don't think adding the command to `armbian-upgrade` would solve since `apt upgrade` would still have the problem, and also the unattended upgrades, like mentioned before. Any ideas? EDIT: I found the problem, but couldn't find a solution. What is happening, is the kernel package is updated first, so actually it calls the dkms hook, but the headers wouldn't be installed, at least the latest version, yet, so the dkms can't run. The problem is how to install the headers before the kernel, or call the dkms hook from the headers package, so even if the kernel calls dkms but can't run because of the lack of updated headers, the headers will do that and succeed. Edited 10 hours ago by Marcos Alano 0 Quote
Werner Posted 9 hours ago Posted 9 hours ago Perhaps package dependencies need to be adjusted so the installation order matches the requirements? Cannot help there though, I have very little insight. 0 Quote
Marcos Alano Posted 9 hours ago Author Posted 9 hours ago (edited) I think it's easier than that. I looked into the postinst file for kernel headers on my Ubuntu machine, and I found this: #!/bin/sh set -e version=6.17.0-7-generic if [ "$1" != configure ]; then exit 0 fi if [ -d /etc/kernel/header_postinst.d ]; then DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ /etc/kernel/header_postinst.d fi exit 0 The postinst script for the headers package doesn't have anything similar, so we should add it this part related to execute the scripts under `/etc/kernel/header_postinst.d`. Can you do that or should we add someone else to the discussion? EDIT: Debian does something similar. Same goal, just a different code: #!/bin/sh -e version=6.12.48+deb13-amd64 linux-run-hooks headers postinst $version -- "$@" exit 0 Edited 9 hours ago by Marcos Alano 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.