- Learn
- Guida Sicurezza wireless
- I Loadable Kernel Module
I Loadable Kernel Module
Linux utilizza (è) un kernel di tipo monolitico modulare, quindi un solo programma gestisce tutte le funzionalità principali del sistema operativo, come gestione dei processi, della CPU, della memoria, della comunicazione coi dispositivi eccetera.
Essendo modulare, esso può caricare moduli in fase di esecuzione secondo le necessità, al fine di aggiungere supporto per periferiche (driver) o funzionalità nuove, come system call aggiuntive.
Un modulo del kernel è quindi un software, con estensione .ko, che può esser aggiunto al kernel. Essi vengono salvati nella cartella /lib/modules/<versione-kernel>.
Ogni modulo può avere un alias, definito dal file modules.alias, che si può cercare con il comando:
find / -name modules.alias
/lib/modules/<versione-kernel>/modules.alias
Il modo più semplice per caricare un modulo in memoria è utilizzare il programma modprobe
, il quale carica il modulo rispettando le sue dipendenze, riferendosi al file modules.dep (generato da depmod
).
Sul mio sistema:
cat /lib/modules/2.6.24-1-amd64/modules.dep | grep rt73
/lib/modules/2.6.24-1-amd64/extra/rt73.ko:
/lib/modules/2.6.24-1-amd64/kernel/drivers/base/firmware_class.ko
Kernel e moduli del kernel funzionano nel cosiddetto kernel space, in contrapposizione ai programmi di livello utente che girano appunto in user space: un palese effetto dell’asserto è che un malfunzionamento di un modulo implica il malfunzionamento di tutto il sistema.
Alcuni comandi utili in ordine sparso:
- modprobe: carica un modulo in memoria, rispettando le sue dipendenze;
- rmmod: scarica manualmente i moduli;
- lsmod: elenca i moduli caricati;
- depmod: rigenera il file delle dipendenze tra i moduli;
- modinfo: dà informazioni su un modulo.
Per quanto riguarda il modulo del kernel rt73, abbiamo le seguenti informazioni, che ora possiamo capire nel dettaglio:
modinfo rt73
filename: /lib/modules/2.6.24-1-amd64/extra/rt73.ko
license: GPL
description: Ralink RT73 802.11abg WLAN Driver - k2wrlz modifications 3.0.0
author: http://rt2x00.serialmonkey.com
alias: usb:v1740p7100d*dc*dsc*dp*ic*isc*ip*
[...]
depends: firmware_class
vermagic: 2.6.24-1-amd64 SMP mod_unload
parm: debug:Debug mask: n selects filter, 0 for none (int)
parm: ifname:Network device name (default rausb%d) (charp)
parm: firmName:Permit to load a different firmware: (default: rt73.bin)
Se vuoi aggiornamenti su I Loadable Kernel Module inserisci la tua email nel box qui sotto:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi opzionali:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
I Video di HTML.it
Sempre più aperti all’opensource! #dilloalfuturo
Per il futuro mi aspetto da Microsoft una apertura sempre più importante all’opensource