Netzwerktreiber auf FreeNAS/NAS4Free installieren (Full-Installation)
FreeNAS unterstützt nativ die jeweilige Hardware, der eingesetzten FreeBSD-Version, auf die es basiert. Trotzdem kann es Produkte geben, für die FreeBSD keine Treiber anbietet. Dieses How-To beschreibt, wie auch unerfahrene Unix-Anwender einen Netzwerkadaptertreiber auf einer „Full-Installation“ von FreeNAS installieren. Als Grundlage dient hier FreeNAS 0.69.2 (Muad’Dib), das auf FreeBSD 6.4 basiert. Es gibt aber Hinweise bei Abweichungen zu neueren NAS4Free/FreNAS-Versionen.
Bei einer „embedded Installation“ gibt das How-To „Netzwerktreiber auf FreeNAS/Nas4Free installieren (embedded)“ Hilfestellung.
Voraussetzungen
- Beliebiger Monitor, der sich an den FreeNAS-Server anschließen lässt
- Tastatur
- USB-Stick, Fat32-formatiert, als temporärer Speicher für die Treiberdatei)
- FreeNAS muss als „Full OS on HDD + DATA + SWAP Partition“ installiert sein. Bei der „embedded“ Installation werden Änderungen nur in die RAM-Disk geschrieben und der Treiber steht beim nächsten Neustart nicht mehr zur Verfügung. Für embedded Installationen gehe nach Netzwerktreiber auf FreeNAS/Nas4Free installieren (embedded).
- Binäre Treiberdatei (*.ko) für die entsprechende FreeBSD-Version auf die das entsprechende FreeNAS basiert.
Treiber installieren
Dieses How-To beschreibt als Beispiel die Installation eines binär vorhandenen Netzwerktreibers für die Netzwerkkarten mit Realtek RTL8111B, RTL8168B, RTL8111, RTL8168, RTL8111C, RTL8111CP, RTL8111D(L), RTL8168C, RTL8111DP, RTL8111E auf FreeNAS 0.6x oder 0.7x.
- Passenden Treiber herunterladen oder selber kompilieren.
Für die oben genannten Netzwerkadapter haben einige Freiwillige Treiber kompiliert. Siehe Download-Bereich. Bitte beachte die unterschiedliche Schreibweise von
if_rl...
undif_re...
aufgrund der verschiedenen Treiberdateinamen in den Anweisungen Punkt 8 und 9! - Treiber auf den USB-Stick kopieren. Achte darauf, dass der Stick mit dem Dateisystem Fat32 formatiert ist. Das ist in allen mir bekannten Fällen der Auslieferungszustand, so dass du i.d.R. nichts umformatieren musst.
- Monitor und Tastatur an den FreeNAS-Server anschließen und Server starten.
-
Shell starten durch Wahl der Option 6 (Shell) im Console-Setup:
-
USB-Stick einstecken.
- Der Befehl
dmesg | tail
zeigt den Gerätenamen des Sticks an, z.B.
da2
(siehe Screenshot unten). -
USB-Stick mounten mit
mount_msdosfs /dev/da2s1 /mnt
Der Anhang
s1
anda2
beschreibt den ersten Slice auf dem Gerätda2
(hier: USB-Stick). Weitere Informationen findet man im FreeBSD-Handbuch, Kapitel 3. -
Kopiere die Treiberdatei in das Verzeichnis
/boot/kernel
mit:cp /mnt/if_rl.ko /boot/kernel
Wenn dieser Befehl fehlschlägt, hast du eine neuere NAS4Free/FreeNAS-Version. In neueren Versionen befinden sich die Treiber in
/cf/boot/kernel
und/cf
ist nur lesend ins Dateisystem eingehängt. Darum muss zuerst/cf
ausgehängt und mit Schreib- und Leserechten wieder eingehängt werden. Dann kann man alle weiteren Aktionen durchführen:umount /cf && mount -o rw /cf cp /mnt/if_rl.ko /cf/boot/kernel
-
Automatischer Laden des Treibers einstellen durch Eintragen von
if_rl_load=„YES“
in die Datei/boot/loader.conf
bzw. bei neueren Versionen in/cf/boot/loader.conf
mit:echo if_rl_load="YES" >> /boot/loader.conf
bzw.
echo if_rl_load="YES" >> /cf/boot/loader.conf
Optional: Zum temporären Einbinden kann man auchkldload /boot/kernel/if_rl.ko
bzw.
kldload /cf/boot/kernel/if_rl.ko
eingeben um zu testen, ob der Treiber ohne Fehlermeldungen geladen wird. Auch hier kann
dmesg|tail
die letzten Systemmeldungen anzeigen. Beim temporären Laden des Treibers mitkldload
wird er beim nächsten Neustart aber nicht mehr eingebunden! Darum sollte man den Treiber immer in die/boot/loader.conf
eintragen - Reboot system (Option 7 im Console Setup).
Download
Weiter unten kannst du bereits fertig kompilierte (binäre) Treiber für Netzwerkkarten mit RTL8111B, RTL8168B, RTL8111, RTL8168, RTL8111C, RTL8111CP, RTL8111D(L), RTL8168C, RTL8111DP, RTL8111E, für ein paar FreeNAS-Version herunterladen, die einige Freiwillige dankenswerter Weise zur Verfügung gestellt haben.
[TABLE=3] Für FreeNAS 8 kann ich derzeit keine Dowloadquellen für binären Treiber angeben. Wenn du einen binären Treiber für FreeNAS 8 findest, freue ich mich über eine kurze Nachricht per Mail oder Kommentar.
Interessante Links
- Unix-Treiber (Quellcode) für RTL81xxx – Realtek Homepage
- /cf-Zugriffsrechteproblematik bei der Treiberinstallation (englisch) – kristijan.org
Titleimage:
BSD Daemon by
Diavolo Qqta (CC BY-NC-SA 2.0)
„Ethernet NIC 100Mbit PCI“ by afrank99. CC BY-SA 2.0 via Wikimedia Commons.