我有一台运行Debian 6的服务器。我的主板有两个接口,eth0和eth1。 Debian没有eth1(e1000e)的驱动程序,所以我安装了Intel提供的驱动程序(e1000e-1.4.4)。 编译成内核之后,我用了rmmod e1000e; modprobe e1000e删除旧的模块并安装新的模块。 然后我使用ifconfig eth1 IPconfigurationIP。 现在一切正常。 港口工程。 我确保编辑/ etc / network / interfaces,以便在启动时启动eth1,但是当我重新引导系统时,它没有find/识别eth1设备。 看来这个模块还没有被加载。 一旦执行rmmod e1000e,我可以再次运行; modprobe e1000e; ifconfig eth1 IP。 我的猜测是我需要configurationmodprobe,以便在启动时加载模块。 任何帮助? 谢谢!
这听起来好像initrd具有旧的e1000e驱动程序,它在initrd期间被加载。 尝试重buildinitrd,它应该拿起新安装的版本。
由于你在debian上,命令: sudo update-initramfs -u -k all应该做的。
最原始和IMO简单的方法来做你想要的是通过添加:
ifdown eth1; modprobe -r e1000e; modprobe e1000e; ifup eth1
进入/etc/rc.local。 这将会完成这项工作,但毕竟服务已经到来。 但是,e1000e模块应该在内核中,所以它应该默认加载。 另一种方法是添加:
e1000e
在/ etc / modules中。 检查这个线程是我的search结果中的第一个Debian 6和e1000e。 我build议找出为什么内核不上载e1000e模块。