March 1
I driver di periferica carichi Linux kernel ed è il cuore del sistema operativo in tutte le versioni di Linux. I driver di periferica vengono caricati automaticamente per l'hardware supportato nella maggior parte APT- e le distribuzioni basate su RPM. Se l'hardware non viene caricato automaticamente e il produttore fornisce un driver di periferica, è possibile installarlo manualmente. I moduli compilati possono essere caricati e aggiunti alla configurazione del kernel immediatamente. Il codice sorgente deve essere prima compilato utilizzando gli header del kernel o il codice sorgente completo.
1 Scarica il codice sorgente per il modulo del kernel.
2 Digitare il seguente comando in una finestra di terminale per installare gli header del kernel:
distribuzioni basate su RPM: su -c 'yum install kernel-devel'
distribuzioni basate su APT: sudo apt-get install linux-headers - $ (uname -r)
Utilizzare il comando corretto per la versione di Linux. Assicurarsi di digitare i comandi esattamente come mostrato, tra virgolette singole.
3 Digitare il seguente comando per modificare la directory del codice sorgente:
cd / home / myuser / modulecode
Change "/ home / myuser / modulecode" per la posizione del codice sorgente del modulo.
4 Digitare il seguente comando per creare un "makefile:"
VI Makefile
Si apre l'editor di testo vi e crea il makefile. Il "fare" comando utilizza il makefile per compilare il modulo.
5 Inserire le seguenti sei righe di codice nell'editor di testo:
obj-m = mymodule.o
KVERSION = $ (shell uname -r)
tutti:
make -C /lib/modules/$(KVERSION)/build M=$(PWD) modules
pulito:
make -C /lib/modules/$(KVERSION)/build M=$(PWD) clean
Sostituire "mymodule" con il nome del modulo che si sta compilando. Salvare il file e uscire VI.
6 Digitare il seguente comando per compilare il modulo:
rendere
7 Digitare i seguenti comandi per caricare e scaricare il modulo:
Carico: su -c 'mymodule.ko insmod'
Scaricare: su -c 'mymodule rmmod'
Sostituire "mymodule" con il nome del modulo viene caricato o scaricato.
8 Digitare il seguente comando in una finestra di terminale:
su -c 'mkdir -p / lib / modules / $ (uname -r) / kernel / drivers / mymodule'
Sostituire "mymodule" con il nome del modulo. Questo comando crea una directory per memorizzare il modulo.
9 Digitare il seguente comando per copiare il modulo nella nuova directory:
su -c 'cp /modulepath/mymodule.ko / lib / modules / $ (uname -r) / kernel / drivers / mymodule /'
Sostituire "ModulePath" e "mymodule" con il percorso corretto e il modulo nome.
10 Digitare il seguente comando:
su -c 'vi / etc / modules'
Questo comando apre il file di configurazione del modulo a livello di sistema per l'editing.
11 Aggiungere quanto segue alla fine del file:
mymodule
Sostituire "mymodule" con il nome del modulo. Chiudere e salvare il file. Le modifiche entreranno in vigore la prossima volta che il sistema viene riavviato. Non sarà più necessario caricare e scaricare il modulo manualmente.