如果模块“正在使用”,如何使用 DKMS 模块修补内核?应该用来打补丁的内核不是在这台机器上实际运行的内核。 (uname-r)
这是关于hpsa模块的,需要使用。
是否应该只修补未运行的较新内核?
到目前为止我的步骤:
[...]
dkms install --force -k 5.10.0-13-amd64 hpsa-dkms/1.1
modprobe -r hpsa -S 5.10.0-13-amd64
modprobe: FATAL: Module hpsa is in use.
lsmod | grep hpsa
hpsa 110592 11
scsi_transport_sas 49152 1 hpsa
scsi_mod 262144 7 scsi_transport_sas,sd_mod,usb_storage,hpsa,uas,libata,sg
答案1
命令
dkms install --force -k 5.10.0-13-amd64 hpsa-dkms/1.1
将为内核构建内核模块并将其移动到运行时可以找到它的5.10.0-13-amd64
地方modprobe
5.10.0-13-amd64
内核
命令
modprobe -r hpsa -S 5.10.0-13-amd64
尝试删除hpsa
从当前运行的内核中删除内核模块。这是专门将其从当前的kernel 并且不从加载的常用模块目录中删除内核对象文件modprobe
。如果您重新启动进入5.10.0-13-amd64
内核,那么您应该能够加载hpsa
您构建的模块。
内核中的模块仅在从内核中删除或内核被删除(关闭kexec
等)时持续存在。