Passaggio al kernel 2.4.x

In questo tutorial impareremo ad installare sul nostro PC ilnuovissimo Kernel 2.4.x.

Preliminari

Per il corretto funzionamento del nuovo Kernel e' necessario aggiornare alcuni pacchetti:
  • binutils: programmi che permettono di lavorare con i file binary;
  • util-linux: suite essenziali per il funzionamento di un sistema linux;
  • modutils: programmi di utilita' per i moduli (modprobe, insmod, depmod, ecc.);
  • ppp: il demone per la connessione in dial-up (senza l'aggiornamento la connessione cadra' inesorabilmente);
  • iptables: per il packet filtering;

Ovviamente procuriamoci anche i sorgenti del Kernel da www.kernel.org.

Tutti i pacchetti vengono distribuiti in formato sorgentequindi per la compilazione e l'installazione dobbiamoutilizzare la procedura standard.

Dal pacchetto ai sorgenti

Posizioniamoci nella directory /usr/src/ e lanciamo il comando ls:

linux@ linux-2.2.12/ linux-2.2.5/

Se (come nella maggior parte dei casi) compare il file chiamato linux (un link alla directory contenente la versione del kernel installata al momento) dobbiamo cancellarlo per far posto alla directory che verra' creata durante la scompattazione. Scompattiamo ora il pacchetto con il comando:

tar -xzvf /path/kernel/linux-2.4.x.tar.gz

se abbiamo scaricato il file in formato tar.gz o:

tar -xIvf /path/kernel/linux-2.4.x.tar.bz2

per il pacchetto in tar.bz2. La scompattazione comporta unattesa di circa un paio di minuti, al termine dei qualiavremo una directory chiamata linux (una directory vera epropria in questo caso).

Adesso ristabiliamo il link rinominandola:

mv linux linux-2.4.x

e ricreare il link con il comando:

ln -s linux-2.4.x linux

Configurazione

Per la configurazione utilizzeremo le utility presenti anche nei kernel delle versioni 2.2.x, cioe':
  • config: scomoda interfaccia a linea di comando per la quale dovremo rispondere a centinaia di domande ripercorrendo tutto il kernel (comando: make config);
  • menuconfig: comoda interfaccia a testuale a menu' (comando: make menucomfig);
  • xconfig: configuratore grafico (comando: make xconfig )

Compilazione

Per la compilazione dovremo utilizzare la seguente riga di comando:

make dep && make clean && make bzImage

Il comando "make dep" controlla che tutti i file necessari per la compilazione siano presenti; il comando "make clean" elimina i file temporanei che potrebbero distrurbare il processo di compilazione; infine il comando "make bzImage" crea l'eseguibile vero e proprio.

Installazione

Una volta portata a termine la compilazione e' necessario "linkare" il binario al kernel; di solito si chiama vmlinuz e si trova nella directory /boot quindi e' necessario rinominare e spostare il file /usr/src/linux/arch/i386/bzImage:

mv /boot/vmlinuz /boot/vmlinuz.old
mv /usr/src/linux/arch/i386/bzImage /boot/vmlinuz

per sicurezza facciamo anche un link al kernel nella dirctoryradice:

ln -s /boot/vmlinuz

Ora non ci resta che riavviare il nostro loader:

lilo

Compilazione e installazione dei moduli

Il comando per la compilazione e l'installazione deimoduli e':

make modules && make modules_install

Ora abbiamo tutto il necessario per il corretto funzionamentodel nuovo Kernel basta solo riavviare il sistema. Se tuttoe' andato bene prima del login vedremo finalmente lariga:

Welcome to SuSE Linux 7.0 (i386) - Kernel 2.4.3