本文为转载以供备份
请多支持原创大佬
原文链接 https://evine.win/p/pve-install-realtek-8125-driver/
驱动仓库地址 https://github.com/devome/realtek-r8125-dkms
安装驱动
更新内核、安装依赖
1 2 3
| apt update apt upgrade apt install -y dkms proxmox-default-headers
|
1 2
| headers=$(dpkg -l | awk '/^ii.+kernel-[0-9]+\.[0-9]+\.[0-9]/{gsub(/-signed/, ""); gsub(/kernel/, "headers"); print $2}' | tr "\n" " ") eval apt install -y $headers
|
安装刚刚下载好的 deb 包,此命令只会为当前系统所使用的内核以及刚刚安装的最新内核(也可能当前所使用的内核就是最新内核)安装驱动
1
| dpkg -i r8125-dkms_*.deb
|
如通配符会匹配多个时亦可指定具体的文件名
如果想为那些既不是系统当前所使用的内核,也不是刚刚安装的最新内核安装驱动,需要手动指定安装
看看哪些内核安装好了驱动
列出全部内核版本 kernel_version,找出那些还没有安装驱动的内核
1
| dpkg -l | awk '/^ii.+kernel-[0-9]+\.[0-9]+\.[0-9]/{gsub(/proxmox-kernel-|pve-kernel-|-signed/, ""); print $2}'
|
手动指定驱动版本(在 deb 文件名中有体现)和内核版本(从上一句命令的输出中),zsh 按 tab 可自动补全,比如:dkms install r8125/9.011.01 -k 6.2.16-5-pve
1
| dkms install r8125/<driver_version> -k <kernel_version>
|
1 2
| eval apt-mark auto $headers apt autopurge
|
禁用 r8169 驱动
1
| echo "blacklist r8169" >> /etc/modprobe.d/dkms.conf
|
重启
1 2 3 4
| update-grub update-initramfs -u -k all reboot
|
再次查看网卡加载的驱动,现在加载的是 r8125 了
1 2 3 4
| 22:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05) Subsystem: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller Kernel driver in use: r8125 Kernel modules: r8169, r8125
|
更新驱动
如果已经安装好了 r8125-dkms 驱动,未来升级时可以无需重启 PVE。如需要不重启 PVE 来更新驱动,并且你的 RTL8125B 网口作为了管理口,那么建议直接物理操作 PVE(也就是不要通过 ssh)来达到更新驱动的目标。
1 2 3 4 5 6
| #!/usr/bin/env bash
modprobe -r r8125 insmod "/lib/modules/$(uname -r)/updates/dkms/r8125.ko" systemctl restart networking.service
|