TrueNAS Core升級13后修復(fù)Realtek 2.5G網(wǎng)卡的簡單方法(同時適用于12安裝2.5G驅(qū)動)

今早無聊檢查了一下TrueNAS Core的系統(tǒng)升級,發(fā)現(xiàn)第一份Stable的13升級前幾天發(fā)布了,看了一下主要升級在以下幾點:
英文好的可以直接戳:https://www.truenas.com/docs/core/corereleasenotes/#new-feature
升級到了FreeBSD 13
升級到了OpenZFS 2.1
支持Samba 4.15協(xié)議
ZFS Pool的導(dǎo)入時長大幅優(yōu)化
可以直接在WebUI看虛擬機(jī)的日志
還有iSCSI性能提升啊巴拉巴拉的,總之就是有很多升級和改進(jìn),官方不推薦Enterprise用戶升級,反正我不是,沒有理由不升,沖!
然后就……

Shit,趕緊去后臺看,發(fā)現(xiàn)Network Interface無了,才想起來一件非常重要的事情:
FreeBSD原生不支持Realtek 2.5G網(wǎng)卡!
而且現(xiàn)在都13.1了還是不支持,得去realtek官網(wǎng)找FreeBSD的文件手動編譯或者編譯好的替換進(jìn)boot/modules/里,然后再打兩個小參讓它啟動的時候加載,需要不同的操作系統(tǒng)和FTP的軟件,比較繁瑣。
不過好在我的主板上還有一個板載千兆RJ45,可以讓它聯(lián)上網(wǎng),那么理論上有更簡單的實現(xiàn)方式,相比起開SSH然后再用另一臺電腦開WinSCP丟文件進(jìn)去,這個方法用手機(jī)、iPad都可以完成,并且同樣適用于TrueNAS Core 12:
首先我們進(jìn)入TrueNAS自帶的命令行,確認(rèn)自己的版本號:輸入uname -a

我這邊確認(rèn)為FreeBSD 13.1,然后去pkgs.org上搜一下針對realtek網(wǎng)卡的包:realtek-re-kmod。

根據(jù)版本和架構(gòu),我這邊選擇的是FreeBSD 13、amd64的pkg。

下拉找到Download,看到Binary Package,這是大佬(具體不清楚是誰)編譯好的包,隨取隨用就好,復(fù)制一下后面的URL。
然后再次來到TrueNAS的命令行,輸入“pkg add? https://pkg.freebsd.org/FreeBSD:13:amd64/latest/All/realtek-re-kmod-196.04.pkg”
再三確認(rèn)版本號和架構(gòu),打錯了輕則無效,重則系統(tǒng)重做(我猜的)。
確認(rèn)無誤后按下回車。

我這邊由于已經(jīng)安裝過一次了,所以它提示最新的版本已安裝,如果是第一次安裝,會正常提示安裝完成。

完成以后來到左側(cè)的“系統(tǒng)-微調(diào)”,創(chuàng)建一項值為“YES”,類型為loader,變量名為:“if_re_load”的變量,用以在系統(tǒng)啟動的時候加載我們剛才安裝的Realtek驅(qū)動。

pkg安裝和微調(diào)結(jié)束以后,重啟TrueNAS,把網(wǎng)線插回2.5Gb網(wǎng)卡,然后在機(jī)器控制臺設(shè)置一下Network interface,就可以在瀏覽器輸入你TrueNAS的IP,登陸后就可以看到接口類型又回到2500Base了。
不過說到底,這個方法僅適用于你的機(jī)器擁有一個能夠被FreeBSD驅(qū)動的網(wǎng)口,如果你主板只有一個網(wǎng)口,并且是個2.5Gb口,那么你就得接受自己編譯網(wǎng)卡驅(qū)動,或者把編譯好的包在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網(wǎng)口的TrueNAS玩家,要么用原生支持2.5G的TrueNAS Scale,要么買一張萬兆網(wǎng)卡升級一下,否則確實挺蛋疼的。