使用已修补的模块替换 CentOS 8 中的原始 ko.xz 模块

使用已修补的模块替换 CentOS 8 中的原始 ko.xz 模块

我的 wifi 遇到问题(英特尔 Wireless-AC 9462“未找到 WiFi 适配器”)。我的问题发布在forums.centos.org

根据网上的一则消息www.spinics.net/lists/linux-wireless是一个错误,这是修补必须应用。

我的解决方案是根据以下内容重新编译模块wiki.centos.org

我找到了一个有关的 YouTube 视频 CentOS 构建内核模块

我复印一份我的内核版本(4.18.0-193.6.3.el8_2.x86_64)并根据错误报告,进行更改内核5.4版本

iwlwifi.ko.xz我在位于以下位置的 Centos 中创建了固定内核模块 ( )

/lib/modules/4.18.0-193.6.3.el8_2.x86_64/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko.xz

现在,我需要备份它(originaliwlwifi.ko.xz)并替换它。

我的情况是这样的:

[root@centos iwlwifi]# pwd
/lib/modules/4.18.0-193.6.3.el8_2.x86_64/kernel/drivers/net/wireless/intel/iwlwifi
[root@centos iwlwifi]# ls -al
total 724
drwxr-xr-x. 4 root root   4096 Jun 28 18:44 .
drwxr-xr-x. 3 root root   4096 Jun 26 20:40 ..
drwxr-xr-x. 2 root root   4096 Jun 26 20:40 dvm
-rw-r--r--. 1 root root 616856 Jun 28 18:44 iwlwifi.ko
-rw-r--r--. 1 root root 103560 Jun 10 06:23 iwlwifi.ko.xz
drwxr-xr-x. 2 root root   4096 Jun 26 20:40 mvm
[root@centos iwlwifi]# 

正如你所看到的,最近构建的版本是iwlwifi.ko

正在尝试删除原来的

[root@centos iwlwifi]# rmmod -v iwlwifi.ko.xz
rmmod: ERROR: Module iwlwifi is in use by: iwlmvm
[root@centos iwlwifi]#

显然我可以强制它并删除它,但我需要再次启用该iwlmvm模块。

我需要做什么和安全步骤(删除有故障的模块iwlwifi.ko.xz并安装我最近修复的模块并启用未触及的iwlmvm模块)

答案1

  1. Linux 按名称/别名删除模块,而不是按文件系统模块文件名删除模块,即您必须运行
sudo rmmod iwlwifi
  1. 有两个模块 module.ko 和 module.ko.xz 可能会混淆您的 depmod/modprobe 实用程序,因为它们都是有效的模块文件名。请将旧模块重命名为已知不是内核模块的某个扩展名,例如

iwlwifi.ko.xz.original或者iwlwifi.ko.xz.bak

  1. 现在您可以 modprobe 新的修补模块 - 希望它能工作。

相关内容