disabilita il modulo del kernel che è compilato nel kernel (non caricato)


18

Il mio server ha due schede di rete integrate da 1 Gbit e due da 10 Gbit.

Devo disabilitare completamente le schede di rete da 1 Gbit, in modo che ifconfig -anon le mostri.

Le schede di rete utilizzano diversi moduli del kernel. L'uso da 10 Gbit ixgbee l'uso da 1 Gbit igb.

01:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
Subsystem: Dell Ethernet 10G 4P X520/I350 rNDC
Kernel driver in use: ixgbe

05:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
Subsystem: Dell I350 Gigabit Network Connection
Kernel driver in use: igb 

Entrambi ixgbee igbsono compilati staticamente nel kernel (non come modulo caricabile). Devo disabilitare il modulo usando i parametri di avvio del kernel.

Ho provato ad aggiungere quanto segue al mio kernel, ma non ha alcun effetto:

igb.blacklist=yes
igb.enable=0
igb.disable=yes

le schede di rete igb stanno ancora mostrando

Come posso disabilitare completamente igb?

Risposte:


30

Dovresti essere in grado di inserire nella blacklist il igb"modulo", anche quando incorporato, inserendo nella blacklist la sua funzione di inizializzazione: aggiungi

initcall_blacklist=igb_init_module

ai parametri di avvio del kernel.

Vedi Come disabilito il supporto I2C Designware quando non è costruito come modulo? per informazioni di base. La ricetta generale qui è cercare il modulo nel codice sorgente del kernel e cercare le funzioni che hanno l' __initattributo - dovrebbe esserci solo una prontamente identificabile come la principale funzione di inizializzazione (generalmente indicata in una module_initdichiarazione). Nella blacklist, e il driver non verrà inizializzato.


4
Per coloro a cui importa, il initcall_blacklistparametro è apparso in Linux 3.16 .
Ruslan,

1
è <modulename>_init_moduleil nome canonico per ognuno e tutto ciò che può essere costruito come un modulo?
Bananguin,

1
@Bananguin, sfortunatamente no, ci sono parecchi chiamati ..._init_moduleo ..._module_initma non seguono tutti questi schemi.
Stephen Kitt,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.