back

Alcuni esempi: gspca-source, kqemu-source, nvidia-kernel-source. Questi moduli possono essere inseriti nel kernel anche dopo la compilazione utilizzando la utility module-assistant. I sorgenti di questi moduli, dopo aver installato il pacchetto con il nostro gestore preferito, li ritroveremo nella directory /usr/src (compressi). Utilizzando poi module-assistant per la loro compilazione, gli archivi decompressi saranno inseriti nella directory /usr/src/modules.
Ma perché dunque non utilizzare module-assistant dopo la compilazione del kernel? Potremmo sicuramente farlo. Il "trucco" da sapere è che possiamo compilare questi moduli direttamente con la compilazione del kernel, onde dover evitare di "rifare" tutte le compilazioni in modo manuale utilizzando module-assistant.
Per compilare questi moduli con il kernel si guardi il capitolo "Compilazione del kernel".

N.B.: altri moduli ancora, non presenti nei repository, potranno anch'essi essere inseriti nel Kernel, in ogni caso, non con questa procedura. Per questi moduli ci si attenga al README dei moduli stessi (ogni modulo ha quasi sempre un file integrato che spiega come deve venir compilato e come inserirlo nel kernel).

File System, controller del disco e initrd

Prendendo atto che siete riusciti ad ottenere un kernel e che avete creato un file .config partendo magari dalla configurazione del vostro kernel attuale (così da essere sicuri che contenga tutto ciò che vi serve -> "Il file .config") dovremo ancora "aggiustare" qualcosa prima di compilare.
Per avviare il sistema dovremo compilare i moduli relativi al file system della nostra partizione di boot ("/boot") e/o la partizione di root ("/") e i moduli relativi al controller del disco in modo statico.
Nella configurazione attuale (se avete installato debian con il suo installer) questi moduli sono implementati come "moduli" nel kernel; questo vuol dire che quando il sistema deve caricare la partizione d'avvio, il boot-loader cerca fra i moduli presenti quello che controlla il file system e il controller del disco e li carica "al volo" per poter utilizzare la partizione in questione. Come fa allora il sistema a caricare questi moduli, se i moduli stessi si trovano nella partizione d'avvio? Per capire meglio cerchiamo di riassumere il tutto con una figura retorica.

Il nostro sistema è formato da una miriade di files; questi sono come dei libri. Per contenerli, evidentemente, serve dello spazio, come ad esempio una biblioteca. Questa è il nostro hard disk. Per utilizzare però questi libri bisogna tenerli ordinati in un certo modo per trovarli quando ne abbiamo bisogno. Per incominciare potremo metterli in stanze separate; queste sono le partizioni. All'interno di ogni stanza troveremo poi delle librerie con i libri classificati in modo preciso (ad es. secondo l'autore, dalla A alla Z, dall'alto verso il basso, da sinistra verso destra); il modo d'ordinamento rappresenta il file system. Come potremmo avere stanze con i libri ordinati secondo diversi parametri (l'autore, il titolo, l'epoca, ...), possiamo avere diverse partizioni con diversi file system.
Per accedere ora alla nostra biblioteca avremo bisogno della chiave per entrare, così come per accedere alle librerie chiuse delle stanze avremo bisogno altrettanto di un'altra chiave. Possiamo immaginare ora i moduli relativi a file system e controller del disco come le chiavi della biblioteca e delle librerie: se le chiavi sono nella biblioteca, non avremo nessuna chance di poter consultare i libri al suo interno. Dovremo dunque avere subito accesso ai moduli per poter "consultare" la nostra partizione d'avvio.

back