back

Tramite le frecce sarà possibile spostarsi nelle varie categorie e selezionare la varie opzioni. Ogni opzione ha anche un "help" che si può consultare, dove viene spiegata la funzione principale dell'opzione. Alla fine della configurazione basterà salvare il file .config (ci viene posta una domanda al momento che selezioneremo "exit").
L'unica operazione che dovremmo effettuare per ottenere un kernel funzionante (ammesso che abbiamo le opzioni di base configurate) è quella di compilare come statici i moduli relativi al file system e al controller del disco della partizione di root (ed ev. di boot). Per questo vi rimando al capitolo "File System, controller del disco e initrd". Altrimenti terremo in considerazione solo un paio di cose:

  • le varie opzioni del kernel sono configurabili come: "*" (l'opzione viene compilata, equivale a "Y"), "M" (l'opzione viene compilata come modulo; se si volesse compilare un modulo in modo statico serve l'opzione "*"), " " (niente, equivale a "N", l'opzione non viene compilata).
  • per ricercare un'opzione nel kernel, ad es. CONFIG_SND_PCI basta digitare "/" (cerca) e inserire "SND_PCI" nell'apposito campo. È in principio possibile inserire qualsiasi parola chiave per vedere se esiste un riferimento fra ciò che cerchiamo (ad es. un modulo) e un'opzione kernel. Per cercare il CONFIG_* da attivare in riferimento ad un modulo si guardi il prossimo capitolo.
Implementare moduli nel kernel presenti nei sorgenti del kernel Linux

Per implementare dei moduli nel kernel presenti nei sorgenti è necessario configurare l'opzione CONFIG_* che controlla il modulo nel file .config (tramite make menuconfig). Nel primo capitolo abbiamo imparato alcuni metodi per sapere quali moduli bisogna attivare per il corretto funzionamento del nostro hardware. Per trovare l'opzione CONFIG_* relativa ad un modulo possiamo cercare il Makefile che lo compila nei sorgenti: con il seguente script risulterà tutto un po' più semplice:

#!/bin/bash
#
# find_CONFIG.sh
#
# N.B. per il corretto funzionamento dello script bisogna avere
# un link "linux" in /usr/src che punta alla directory dei sorgenti.
#
echo
echo "Questo script permette di trovare il file CONFIG_* da attivare nel kernel
per implentare un certo driver/modulo." echo read -p "Inserisci il nome del driver/modulo: " modulo echo echo "Per attivare il modulo/driver dovrai configurare le seguenti opzioni
nel kernel: " CONFIG="$(find -L /usr/src/linux -type f -name Makefile | xargs grep -w $modulo |
grep CONFIG | cut -f 2 -d "(" | cut -f 1 -d ")" | sort -u)" if [ -z $CONFIG ] then echo "Questo modulo non è stato trovato nei sorgenti del kernel
che si vuole compilare" else echo $CONFIG fi echo
back