编译安装r8125.ko网络模块
编译出来的 r8125.ko 被“安装”到内核模块目录及注册到内核的模块依赖系统里,才支持重启后自动加载模块。
1. 正确安装模块
假设你已经在 r8125-x.x.x/ 源码目录下跑过 make,会生成 src/r8125.ko。
你需要执行:
1 | sudo make install |
它会把 r8125.ko 复制到 /lib/modules/$(uname -r)/kernel/drivers/net/ 之类的目录。
2. 更新依赖关系
执行:
1 | sudo depmod -a |
这样 /lib/modules/$(uname -r)/modules.dep 和 modules.alias 会更新,系统才知道有 r8125 这个驱动。
3. 自动加载驱动
方式 1:依赖设备 ID 自动加载(推荐)
如果r8125.ko里有 PCI ID 匹配(一般源码里有MODULE_DEVICE_TABLE),那插着网卡重启后,内核 PCI 子系统会自动触发加载。方式 2:手动指定开机加载
如果方式 1 不生效,可以手动写入:1
echo "r8125" | sudo tee /etc/modules-load.d/r8125.conf
这样开机 systemd 会主动加载。
4. 卸载内核自带冲突驱动(常见问题)
Ubuntu/Debian 默认可能带了 r8169 驱动,会和 r8125 冲突。
你需要屏蔽它:
1 | echo "blacklist r8169" | sudo tee /etc/modprobe.d/blacklist-r8169.conf |
👉 总结:
遇到的情况大概率是**编译出来的模块没有执行 make install + depmod**,所以重启后内核找不到驱动。
解决步骤:
1 | cd r8125-x.x.x |
🔥 然后重启,就会自动加载了。