我目前正在开发一个项目,需要将 .ko(内核对象)驱动程序注入 Linux ISO (CentOS)。我一直在努力寻找一种方法来做到这一点,但到目前为止我还没有成功。
这是我尝试过的:
我尝试挂载 ISO,将其内容复制到新目录,添加 .ko 文件,然后从此目录创建新 ISO。但是,当我从新 ISO 启动时,驱动程序似乎无法被识别。
谁能提供有关如何正确地将 .ko 驱动程序注入 Linux ISO 的分步指南?任何帮助将不胜感激。
先感谢您。
答案1
第 1.7 节红帽客户门户告诉您如何在实时 RHEL 上执行此操作,因此我认为您必须对 ISO 执行这些步骤。
选择要在引导过程中加载的内核模块。
这些模块位于 /lib/modules/$(uname -r)/kernel// 目录中。
所以你的.ko
文件必须在那里。
为模块创建配置文件:
# echo <MODULE_NAME> > /etc/modules-load.d/<MODULE_NAME>.conf
那么你必须.conf
为其创建一个文件。我不知道该怎么做,但一些额外的搜索可能会告诉你该怎么做。
另一件事:.ko
模块必须与内核版本匹配,否则将无法加载。大多数非专有 Linux 模块都可以从内核所在的同一位置 (kernel.org) 获得,并且在使用时与内核一起构建,并在内核更新时提供,因此这通常不是问题,除非专有内容不在其中。无法在更新时重建的内核。
如果您的.ko
模块位于 .ISO 上,您仍然可以使用 手动加载它insmod
,并且如果不需要在早期启动期间加载它,您可以使用@reboot
a 中的一行在启动时加载它。crontab