TrueNAS Core升级13后修复Realtek 2.5G网卡的简单方法(同时适用于12安装2.5G驱动)
今早无聊检查了一下TrueNAS Core的系统升级,发现第一份Stable的13升级前几天发布了,看了一下主要升级在以下几点:
英文好的可以直接戳:https://www.truenas.com/docs/core/corereleasenotes/#new-feature
-
升级到了FreeBSD 13
-
升级到了OpenZFS 2.1
-
支持Samba 4.15协议
-
ZFS Pool的导入时长大幅优化
-
可以直接在WebUI看虚拟机的日志
还有iSCSI性能提升啊巴拉巴拉的,总之就是有很多升级和改进,官方不推荐Enterprise用户升级,反正我不是,没有理由不升,冲!
然后就……
尼玛 连不上了
Shit,赶紧去后台看,发现Network Interface无了,才想起来一件非常重要的事情:
FreeBSD原生不支持Realtek 2.5G网卡!
而且现在都13.1了还是不支持,得去realtek官网找FreeBSD的文件手动编译或者编译好的替换进boot/modules/里,然后再打两个小参让它启动的时候加载,需要不同的操作系统和FTP的软件,比较繁琐。
不过好在我的主板上还有一个板载千兆RJ45,可以让它联上网,那么理论上有更简单的实现方式,相比起开SSH然后再用另一台电脑开WinSCP丢文件进去,这个方法用手机、iPad都可以完成,并且同样适用于TrueNAS Core 12:
首先我们进入TrueNAS自带的命令行,确认自己的版本号:输入uname -a
确认为FreeBSD 13.1
我这边确认为FreeBSD 13.1,然后去pkgs.org上搜一下针对realtek网卡的包:realtek-re-kmod。
根据版本和架构,我这边选择的是FreeBSD 13、amd64的pkg。
下拉找到Download,看到Binary Package,这是大佬(具体不清楚是谁)编译好的包,随取随用就好,复制一下后面的URL。
然后再次来到TrueNAS的命令行,输入“pkg add https://pkg.freebsd.org/FreeBSD:13:amd64/latest/All/realtek-re-kmod-196.04.pkg”
再三确认版本号和架构,打错了轻则无效,重则系统重做(我猜的)。
确认无误后按下回车。
再三确认白框处的信息
我这边由于已经安装过一次了,所以它提示最新的版本已安装,如果是第一次安装,会正常提示安装完成。
完成以后来到左侧的“系统-微调”,创建一项值为“YES”,类型为loader,变量名为:“if_re_load”的变量,用以在系统启动的时候加载我们刚才安装的Realtek驱动。
pkg安装和微调结束以后,重启TrueNAS,把网线插回2.5Gb网卡,然后在机器控制台设置一下Network interface,就可以在浏览器输入你TrueNAS的IP,登陆后就可以看到接口类型又回到2500Base了。
不过说到底,这个方法仅适用于你的机器拥有一个能够被FreeBSD驱动的网口,如果你主板只有一个网口,并且是个2.5Gb口,那么你就得接受自己编译网卡驱动,或者把编译好的包在PC上下载下来,解压出其中的if_re.ko文件放到U盘里,然后在命令行里将U盘挂载,把if_re.ko放到boot/modules里,然后在/boot/loader.conf里添加两行:
if_re_load="YES"
if_re_name="/boot/modules/if_re.ko"
想想都麻烦啊,所以单2.5Gb网口的TrueNAS玩家,要么用原生支持2.5G的TrueNAS Scale,要么买一张万兆网卡升级一下,否则确实挺蛋疼的。