Qual è la differenza tra insmod e modprobe?


Risposte:


28

Per man insmod:

La maggior parte degli utenti vorrà invece utilizzare modprobe, che è più intelligente e in grado di gestire le dipendenze dei moduli.


2
ah scusa, ho perso quella linea.
NES,

39

modprobelegge i moduli da /lib/modules/$(uname -r)/modules.dep.bin(o senza il .binsuffisso se l'altro file non è disponibile). Dallo stesso file vengono caricate le dipendenze.

modprobeaccetta il nome di un .kofile in /lib/modules/$(uname -r)(ad es. nvidia-currentper il file dkms/nvidia-current.ko) e alias ( modules.alias.bin). Anche i builtin ( modules.alias.bin) sono riconosciuti, ma poiché questi moduli sono caricati di default, non ha senso modprobare questo tipo di moduli.

insmodd'altra parte accetta percorsi per i file. Il modulo non deve risiedere /lib/modules/$(uname -r), ma le dipendenze non vengono caricate automaticamente. Questo è il programma inferiore utilizzato da modprobeper caricare i moduli.

Altri programmi relativi ai moduli sono rmmode modinfo.

rmmodrimuove un nome del kernel basato sul nome da /proc/modules. Questo nome non deve necessariamente essere uguale a quello passato a modprobe(per il nvidia-currentfile, nvidiaad esempio).

modinfoaccetta un nome file o il nome file senza .kosuffisso in /lib/modules/$(uname -r).


3

modprobeè un comando intelligente, cerca dipendenze durante il caricamento di un modulo. Supponiamo, se ho caricato un modulo, che ha dei simboli definiti in qualche altro modulo (questo percorso del modulo è indicato all'interno del modulo principale). Quindi, modprobecarica il modulo principale e il modulo dipendente.

Ma se insmodusato, non caricherà la dipendenza, e quindi darà errori di compilazione come Unresolved symbols. In questo caso, dobbiamo cercare manualmente il modulo dipendente e dobbiamo caricarli per risolvere gli errori.


0

L'utilità modprobe merita una breve menzione. modprobe, come insmod, carica un modulo nel kernel. Si differenzia per il fatto che esaminerà il modulo da caricare per vedere se fa riferimento a simboli che non sono attualmente definiti nel kernel. Se vengono trovati tali riferimenti, modprobe cerca altri moduli nel percorso di ricerca del modulo corrente che definiscono i simboli pertinenti. Quando modprobe trova quei moduli (che sono necessari al modulo che viene caricato), li carica anche nel kernel. Se invece si utilizza insmod in questa situazione, il comando ha esito negativo con un messaggio "simboli non risolti" lasciato nel file di registro di sistema

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.