启动时未加载 Modprobe.conf 选项

启动时未加载 Modprobe.conf 选项

对 Linux 来说,还是个新手,但正在努力...

无论如何,我已经在我的一台旧 P4 PC 上安装了新版 Ubuntu 11,我本来希望将其赠送出去,但是我在使用板载 Intel 100/PRO VE 网络适配器时遇到了一些问题,但我认为我已经解决了它。

启动后,我运行“dmesg | grep e100”来查看内核对驱动程序的解释,并得到以下信息:

[    1.756219] pci 0000:02:08.0: Firmware left e100 interrupts enabled; disabling
[    3.237229] e100: Intel(R) PRO/100 Network Driver, 3.5.24-k2-NAPI
[    3.237235] e100: Copyright(c) 1999-2006 Intel Corporation
[    3.237310] e100 0000:02:08.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
[    3.259916] e100 0000:02:08.0: (unregistered net_device): EEPROM corrupted
[    3.277707] e100 0000:02:08.0: PCI INT A disabled
[    3.277735] e100: probe of 0000:02:08.0 failed with error -11

因此我发现通过运行以下命令可以使驱动程序加载:

sudo modprobe -r e100
sudo modprobe e100 eeprom_bad_csum_allow=1

它加载并且适配器工作得很好。但是我不希望下一个用户每次启动 PC 时都必须运行它。所以我了解到,将选项放入 /etc/modprobe.d 文件夹中的 .conf 文件中应该每次加载时都设置该选项。我在 /etc/modprobe.d 中创建了以下文件:

-rw-r--r-- 1 root root   37 2012-04-16 21:18 e100.conf

并给出内容:

options e100 eeprom_bad_csum_allow=1

然后重启了机器。重启后发现网络不工作了,查看 dmesg | grep e100 时看到的信息和我刚开始时看到的一样。

运行“sudo modprobe -r e100”然后运行“sudo modprobe e100”(不指定选项)使其加载良好,因此它似乎使用了 e100.conf 文件。

为什么它在启动时不使用它?

非常感谢您的帮助,抱歉写了这么长,但希望我已经解释清楚了。

干杯,克里斯。

答案1

如果在启动时(在打开根文件系统之前)加载了模块,则需要更新初始 ramdisk。这是第一个加载的“文件系统”,它将加载驱动程序、发现和挂载分区等。

要更新此 initrd,请运行:

sudo update-initramfs -u

(这将由内核升级/安装自动调用,因此您只需运行一次)

相关内容