Die neuen Modelle aus dem Hause Dell kommen mit einerNetzwerkarte vom Typ NetXtreme II BCM5716
Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet (rev 20)
Die für diese Karte notwendige Firmware ist zwar im Paket firmware-bnx2 enthalten (Es ist ja eine BNX2 Karte) jedoch erkennt Debian diese Karte leider in der aktuellen Version 5.0.4 (Lenny) nicht. Ähnlich ist es wohl bei Ubuntu 8.04.
Ursache ist wohl, dass die PCI ID des aktuellen Modells BCM5716 nicht im System bekannt ist.
Debian hat den Bug bereits seit Januar in der Bug-Liste* und verspricht eine Lösung im nächsten Release von Lenny (5.0.5). Abhilfe schafft hier die Installation von Debian Squeeze (Testing). Aber in wie fern dieses sinnvoll ist mag jeder selbst wissen. Ich bleib lieber beim aktuellen Stable Release und Patche das System mit wenigen Handgriffen.
1) Grundsystem
Installation von Debian 5.0.5 Lenny über die Netinstall-CD ohne Netzwerkkarte (sobald die Erkennung der Netzwerkkarte fehlschlägt alle weiteren Schritte manuell durchlaufen.
Natürlich können wir hier kein Netzrepository verwenden, aber alles Notwendige ist auf der CD enthalten.
2) System starten
Sobald die Installation abgeschlossen ist, starten wir wie üblich in unser neues System und loggen uns als root ein.
3) Übertragen des Patches / Hooks
Bevor wir am System selbst weitermachen können, müssen wir die folgenden beiden Dateien herunterladen:
- BNX2-Firmware als .deb
- Kernel-Module-Patch – Debian Variante (ACHTUNG: Ubuntu benötigt eine andere Variante)
Diese laden wir einfach auf einen USB-Stick und übertragen diese so auf unseren neuen Server / Desktoprechner.
Für den weiteren Verlaufen nehmen wir an, dass der USB-Stick nach /mnt gemountet wurde und die Dateien im Root-Verzeichnis des Sticks liegen.
4) Installation BNX2-Firmware
Damit das System die Karte später auch wirklich ansteuern kann, wird die Firmware installiert.
dpkg -i /mnt/firmware-bnx2_0.14+lenny2_all.deb
5) Installation Kernel-Module-Patch
Damit der Kernel die Karte jetzt korrekt erkennt, muss das Kernel-Modul entsprechend gepatcht werden. Herzu kopieren wir die entsprechende Patch-Datei nach /etc/initramfs-tools/hooks und sorgen dafür, dass die Datei ausführbar ist
cp /mnt/bnx2.debian /etc/initramfs-tools/hooks
chmod +x /etc/initramfs-tools/hooks/bnx2.debian
Um den Patch zu aktivieren rebuilden wir die initramdisk des Kernels.
dpkg-reconfigure linux-image-`uname -r`
6) Anpassen der Netzwerkconfig
Da unser System ja bisher keine Netzwerkkarte hatte, müssen wir ihm natürlich noch sagen welche Interfaces er hat. Wir nehmen an, wir möchten beide onBoard NICs mittels DHCP konfigurieren. Dies ist natürlich bei Servern eher unüblich, aber die statische IP bekommt man ja selbst sehr einfach hin
Wir bearbeiten die /etc/network/interfaces und fügen ein:
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet dhcp
Jetzt noch in der /etc/hostname den Rechnernamen anpassen und eventuell die /etc/hosts noch aktualisieren.
7) Neustart
Nun noch das System neustarten und schon haben wir zwei Netzwerkinterfaces im System über die onBoard Netzwerkports.
Kernel-Updates
Das schöne ist, dadurch dass wir den Patch direkt in den initramfs-tools installiert haben gilt dieser automatisch für alle neuen Kernel. Wir müssen beim Kernel-Update also nicht darauf achten, ob der neue Kernel den wir installieren möchten den Bug nicht mehr hat.
Vielen Dank an Jürgen Pabel für die Lösung die ich oben dargestellt habe.
Funktionierender Installer
Wer es einfacher haben möchte kann auch die aktuelle Version des Debian Installers mit einem funktionierenden Kernel verwenden. Danke an Mark auf Jürgen’s Blog für die Bereitstellung des Installers.
- Debian 5.0.4 Lenny Installer AMD64 – netinstall ISO Image
- Debian 5.0.4 Lenny Installer i386 – netinstall ISO Image
Achtung: Die Installation des Installers hat den Haken, dass bei Kernel-Updates der Patch nicht automatisch enthalten ist. Denkbar wäre es aber sicherlich, die Grundinstallation mit dem modifizierten Installation von Mark durchzuführen und dann den Kernel-Patch in /etc/initramfs-tools/hooks/ zu installieren.
Den Installer habe ich selbst jedoch – noch – nicht ausprobiert.
* http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565353
Letzte Kommentare