ToC
MSI B550M 主板网卡是 Realtek RTL8125B, 这款网卡的驱动其实已经在 Linux kernel 5.9 有了, 但是 Promox VE 6.3 用的是 5.4 的 Linux LTS 内核, 所以, 只能发挥 Linux 用户传统艺能: 手装驱动了.
这里有个小问题我还没搞懂, 即使装好网卡驱动, PVE 6.3 仍然会报错无法进入图形界面安装, 所以下面讨论的是先装 Debian 再在此基础上装 PVE.
安装 Debian
先到 Debian 官网下载好安装镜像, 虽然我们待会没网, 但这里还是直接用 netinst 版就行.
当然你也可以在其他国内镜像站搞一个, 保证版本最新就好.
烧录镜像
这步不介绍太多, 用 ventoy 也行, etcher 也行.
接着插 U 盘, 开机, 狂按 Del 键(或别的什么能进 BIOS 的键)进 BIOS 调整 U 盘到首位启动, 重启, 进 Debian 安装界面, 开搞.
安装过程
我选的是命令行界面安装(也即是非界面安装), 按这个来讨论; 同时, 其他单纯填写信息和无关的步骤: 例如”选时区”, “填 hostname”, “分区方案”, 我也会忽略.
当提示找不到网卡驱动提示手动选网卡时, 选没有网卡, 继续安装, 当稍候提示根据地区选择镜像(mirrors)时, 不需要选任何地区, 直接将光标移到”back”进入之后的安装流程.
然后会问要不要插入 U 盘自动搜索驱动, 选否.
总之就是一切要联网的步骤选否.
然后如无意外会装完.
重启进 Debian 系统.
准备
没网怎么装网卡驱动呢? 先按这里的帖子第 4-8 步用手机 USB 共享网络连上网.
为免帖子丢失, 这里摘抄一下.
4)plug in android phone after enabling usb tether on the phone (Dont try to ping anything yet lol)
5)type in ‘ ip addr show ‘ And note down the interface name for the usb tether, mine was enp0s something something
6) type in ‘ ip link set enp0s up’ #replace enp0s with your own interface name
7) type in dhclient enp0s #replace enp0s with your own interface name
8) test connectivity by using ping, ‘ping 1.1.1.1’
有网了就着手换源, 参考 USTC 帮助换个国内 debian 源.
vi /etc/apt/sources.list
然后apt update
一下.
装个 wget 和 git, 待会会用到.
apt install wget git
下载 GPG 公钥
稍后用到的脚本因为要装 Proxmox VE 的 headers, 按官方 wiki 先把官方 GPG 公钥装上.
wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
准备清华社区源
echo "deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian buster pve-no-subscription" >> /etc/apt/sources.list.d/pve-install-repo.list
当然这是因为国情, 你网络好的话可以加原版 pve-no-subscription 源.
echo "deb http://download.proxmox.com/debian/pve buster pve-no-subscription" >> /etc/apt/sources.list.d/pve-install-repo.list
正式装驱动
Github 有人已经写好了脚本, uioprr/RTL8125-Driver-for-Proxmox-VE5-6-and-debian, 主要做的是判断系统版本和用官方驱动编译安装, 跟着它 README 走就行.
其实有个同样也是用 RTL8125B 网卡的主板 wiki 是推荐用 Ubuntu PPA 方式安装的, 但是这里大陆可能会遇到网络问题, 或者 gpg 公钥问题, 就还是先编译安装吧. 有能力的可以试试 PPA 安装.
git clone https://github.com/uioprr/RTL8125-Driver-for-Proxmox-VE5-6-and-debian.git cd ./RTL8125-Driver-for-Proxmox-VE5-6-and-debian chmod a+x rtl8125_install.sh bash rtl8125_install.sh
现在没 SSH 没法复制粘贴, 小心别打错字符. 出现安装提示的话按 y 回车确认就好.
如果脚本运行出错, 注意看脚本的提示.
然后就装完了, 检验一下.
lsmod | grep 'r8125'
出现 r8125字样即安装成功
在 Debian 基础上装 Proxmox VE
首先当然还是看官方 wiki.
改 hostname 部分按自己需要改了.
wiki 接下来要求装 GPG key 和导入 PVE 源, 这步我们已经提前做了, 可以省略.
接下来流程和注意事项都是跟着 wiki 走就好.
走到
apt install proxmox-ve postfix open-iscsi
这步, 也就是安装 PVE 的包, 并按 wiki 重启完之后, 网卡会丢失, 这是预料之中的. 因为之前我们用的脚本带的驱动是 Realtek 官方提供的编译安装方式, 装完 PVE 内核会变动, 自然就没了. 咋办? 用 deb 包重新装一遍.
PVE 下用 deb 包重装驱动
装 headers
DKMS 需要依赖 Proxmox VE kernel headers, 先安装.
sudo apt install pve-headers
装驱动
按上面”准备”章节的方法用手机 USB 把系统连上网.
如果细心的话会发现, 提供 USB 联网方法的帖子其实就是 deb 安装流程, 只不过, 他失败了.
在这个仓库的 release 页面下载好最新驱动 deb 包, 放进 U 盘, 插 U 盘进系统.
接下来按那帖子的 12-21 步操作, 就算装完了. 这里同样为了防丢, 摘抄一下.
注意前文的编译安装脚本已经包含了下面 18-19 步, 可以跳过.
12) cd into a directory to make the second usb mount= ‘cd /media’
13) ‘mkdir usb’
14) use blkid to find the correct /dev/sd** name for your usb, (mine was sda1)
15) ‘mount /dev/sda1 /media/usb/‘
16) cd /media/usb
17)’ls’ #to find names
18) ‘apt install build-essential’
19) ‘apt install dkms’
19) Change directories to your USB folder with the DEB file (cd /media/usb)
20) install the DEB file with dpkg -i NAME_OF_DEB_FILE
21) now you can unplug the usb tether, repeat steps 5-8 to check if your Ethernet connection works.
来检验下
ip link
应该就可以看到 RTL8125B 网卡的 interface 了, 大概是类似 enp42s0
之类的东西. 又因为 Proxmox 自带 DHCP 客户端, 这时理论上已经可以直接获取到 IP 上网了.
用这种方式安装的驱动以后即使内核升级也会继续存在, 也就是不用再折腾了.
Have fun.
本作品采用 CC BY-NC 4.0 进行许可。地址: https://d4v.is/install-realtek-8125b-on-proxmox-ve-6-3/278/ 转载请注明。