Nachdem ich festgestellt habe, dass meine Realtek-basierende Netzwerkkarte (r8169-Treiber) im Betrieb in der VM PCIe-Fehler (AER: Multiple Corrected error received) auf dem Host-System verursacht hat, habe ich eine Intel-basierende Netzwerkkarte (e1000e-Treiber) eingebaut. Fehler war sofort weg. Nun habe ich nur ein Problem: um die Netzwerkkarte per PCI-Passthrough in die VM zu holen, muss man im Host-System die Karte deaktivieren. Das ging bei der Realtek einfach, da die eine Karte einen speziellen Treiber nutzte und ich den per blacklist am Laden hindern konnte. Nun hat aber meine Onboard-Netzwerkkarte den gleichen Treiber wie die zusätzlich gesteckte und somit kann ich kein globales blacklisting machen, sondern ich muss den Treiber für das spezifische Device entladen.
Geht im Betrieb einfach per echo -n 0000:03:00.0 >/sys/bus/pci/drivers/e1000e/unbind, wobei 03:00.0 die PCI Adresse der Steckkarte ist. Gibt es eine Möglichkeit, ähnlich wie beim Blacklisting, schon beim Starten von Linux zu verhindern, dass der Treiber für das Device geladen wird? Freund Google hat eine Idee aufgebracht, ein Skript in der Initramfs zu plazieren. Habe ich noch nicht probiert, da ich das Risiko sehe bei Änderung der Adressen oder was auch immer mich aus dem System auszuschliessen (Server im Rackschrank, ok - könnte mich lokal anmelden). Mir wäre also etwas in der Art
recht.
Hat hier einer der Linux-Gurus eine Idee? Oder vielleicht auch Erfahrung mit einem Initramfs-Skript um den Treiber da schon von der Karte zu lösen? Wäre super...
MrJoe