Comando Linux modprobe con esempi utili
Il kernel Linux è il componente base di un sistema operativo Linux. Il kernel Linux ha un design modulare che gli consente di essere espanso in termini di funzionalità. I moduli sono piccoli pezzi di codice che possono essere caricati e scaricati dal kernel senza dover riavviare il computer. I moduli del kernel possono essere caricati/scaricati manualmente o automaticamente.
Quando un nuovo dispositivo come USB o PCI viene connesso/rimosso, il kernel invia eventi. Gli eventi contengono informazioni sul dispositivo, come i dettagli del fornitore e del modello. Udev (il gestore dei dispositivi) ascolta questi eventi e passa loro modprobes. Modprobe identifica in modo intelligente il driver richiesto cercando nella directory del modulo /lib/modules/uname -r
e carica il file del modulo nel kernel. Una volta che il modulo è stato caricato correttamente, viene visualizzato nell’elenco dei comandi lsmod. Inoltre, modprobe viene utilizzato per aggiungere o rimuovere manualmente un modulo caricato dal kernel.
Modprobe è distribuito come parte del pacchetto kmod. In questo tutorial, impariamo come usare comando modprobe per aggiungere e rimuovere moduli dal kernel Linux.
Sintassi del comando modprobe
Controlliamo la sintassi del comando modprobe:
$ sudo modprobe [options] [Module Name]
Il comando modprobe per aggiungere il modulo Kernel
I moduli del kernel si trovano nelle sottodirectory situate in /lib/modules/$(uname -r)
. Comando uname -r
può essere utilizzato per determinare la versione corrente del kernel.
Quando aggiungi un modulo modprobe, controlla in modo intelligente la dipendenza mod che insmod non fa. Le dipendenze elencate nel file /lib/modules/$(uname -r)/modules.dep e il riferimento al nome del modulo sono specificati in /etc/modules
file.
Per elencare la directory localizzata del modulo del kernel, digitare:
$ ls /lib/modules/$(uname -r)
Puoi trovare tutti i driver di dispositivo nella directory /lib/modules/$(uname -r)/kernel/drivers/
.
I file del modulo del kernel di solito hanno .ko
estensioni. Puoi elencarli tutti .ko
file di:
$ find /lib/modules/$(uname -r) -type f -name *.ko*
Puoi aggiungere il modulo al kernel Linux usando il comando modprobe insieme al nome del modulo.
$ sudo modprobe img_i2s_in
Una volta aggiunto, puoi confermare con il comando lsmod che elenca i moduli del kernel attualmente caricati.
$ sudo lsmod | grep img_i2s_in
Produzione:
img_i2s_in 16384 0
Il comando modprobe per rimuovere il modulo Kernel
Per rimuovere un modulo, utilizzare il comando modprobe con l’opzione -r insieme al nome del modulo.
Ad esempio, per rimuovere il modulo denominato img_i2s_in
genere:
$ sudo modprobe -r img_i2s_in
Opzioni modprobe
Il comando modprobe ha diverse opzioni, che sono state suddivise in tre categorie in base ai loro casi d’uso.
Opzione di gestione
Quando si utilizza il comando modprobe per aggiungere o rimuovere moduli, i parametri di gestione consentono più scenari di gestione dei moduli.
scelta | Descrizione |
-UN -tutto |
Rimuovi o aggiungi più moduli contemporaneamente |
–rimuovere -r |
Rimuovi modulo, si applica anche a –remove-dependencies |
–remove-dipendenze | Rimuovi i moduli di dipendenza |
–resolve-alias -R |
Identifica e stampa il nome che corrisponde a un alias |
–prima volta | Errore durante la stampa dei moduli aggiunti o rimossi |
–ignore-install –ignora-rimuovi loro |
Ignora i comandi di installazione o rimozione scritti nel modulo durante l’inserimento o la rimozione del modulo |
–usa-lista nera -b |
Alias nella lista nera risolto |
–forza – f |
Quando viene visualizzato un errore di versione, forza l’aggiunta o la rimozione del modulo. Questo vale sia per –force-modversion che per –force-vermagic. |
–force-modversione | Ignora la versione del modulo quando aggiungi o rimuovi il modulo. |
–forza-vermagic | Ignora la magia della versione del modulo quando aggiungi o rimuovi il modulo. |
Opzioni di interrogazione
L’opzione query del comando modprobe fornisce informazioni sulla configurazione e sulle dipendenze.
scelta | Descrizione |
–mostra-dipende d |
Se ci sono moduli con file di dipendenza, elenca quel modulo |
–showconfig –show-config – c |
Visualizza la configurazione e le uscite correnti |
–show-modversions –dump-modversions |
Mostra le dipendenze della versione del modulo |
Opzioni generali
Le opzioni generali nel comando modprobe configurano le opzioni di output, le posizioni dei moduli e le versioni.
scelta | Descrizione |
–funzione asciutta –mostrare – n |
Stampa il risultato, ma non aggiungere o rimuovere nulla. |
–config=[Filename] -C |
Sostituire la dipendenza di configurazione predefinita, ad esempio /etc/modprobe.d con [Filename] |
–nomedir=[Directory] d |
Per usare /lib/module [Directory] come radice del file system |
–set-versione=[version] -S |
Invece del kernel specificato uname utilizza [version] nucleo |
–syslog -S |
Visualizza un messaggio di errore tramite Syslog |
–Silenzioso q |
Non visualizzare i messaggi di errore |
— verboso v |
Consente di visualizzare più messaggi |
–versione v |
Mostra versione modprobe |
–Aiuto – h |
Mostra il messaggio di aiuto insieme ai comandi |
Conclusione
In questo tutorial, abbiamo appreso il comando modprobe per aggiungere o rimuovere moduli dal kernel Linux.
Grazie per la lettura, si prega di dare il vostro feedback e suggerimenti.