Chapter 8. Il kernel Linux

Table of Contents

8.1. Aggiornamento del kernel
8.2. Le sorgenti del kernel
8.3. Configurazione del kernel
8.4. Moduli del kernel
8.5. Impostazioni della configurazione del kernel
8.6. Compilare il kernel
8.7. Installare il kernel
8.8. Pulire il disco rigido dopo la compilazione del kernel

Abstract

Il kernel è il cuore di un sistema Linux. Nelle pagine seguenti, non vi mostreremo come diventare kernel “hacker”, ma vi indicheremo almeno come eseguire un aggiornamento del kernel e vi metteremo in grado di compilare ed installare un kernel da voi configurato. Se procedete come descritto in questo capitolo, potrete continuare a lavorare con il kernel che avete utilizzato finora avendo la possibilitàdi caricarlo in qualsiasi momento.

Il kernel che durante l'installazione viene scritto nella directory /boot è configurato in modo tale da supportare un largo spettro di hardware: perciò non è necessario, compilare un proprio kernel, almeno ché non vogliate testare feature e driver in fase “sperimentale”.

Spesso si può intervenire sul comportamento del kernel tramite cosiddetti parametri del kernel. Ad esempio il parametro desktop riduce le fette di tempo (time slice) dello schedulatore in modo che il sistema diventa soggettivamente più veloce. Per maggiori informazioni rimandiamo alla documentazione sul kernel contenuta nella directory /usr/src/linux/Documentation, se avete installato il pacchetto kernel-source.

Per creare un nuovo kernel, vi sono dei Makefiles, grazie ai quali il processo si svolge in modo quasi del tutto automatico. Solo le domande sull'hardware che il kernel deve supportare devono venire percorse; in maniera interattiva. Dovete conoscere il vostro computer molto bene per fare le scelte giuste, per questo consigliamo – almeno per i primi tentativi – di modificare un file di configurazione già esistente e funzionante per ridurre il rischio di impostazioni errate.

8.1. Aggiornamento del kernel

Per installare un kernel di aggiornamento scaricate il pacchetto di aggiornamento dal server ftp di o da un mirror come ad esempio: ftp://ftp.gwdg.de/pub/linux/suse/. Se non sapete quale Kernel viene utilizzato attualmente dal vostro sistema, potete farvi mostrare la stringa indicante la versione con cat  /proc/version.

Inoltre, tramite: rpm -qf /boot/vmlinuz potete determinare il pacchetto di cui fa parte il kernel /boot/vmlinuz.

Prima della installazione, fate un back-up del kernel originale e del relativo initrd, immettendo come root i seguenti comandi:

cp /boot/vmlinuz-$(uname -r) /boot/vmlinuz.old
cp /boot/initrd-$(uname -r) /boot/initrd.old 

Installate ora il nuovo pacchetto con: rpm  -Uvh <nomepacchetto>. Inserite il corrispondente numero di versione.

A partire da 7.3 viene utilizzato ReiserFS quale file system di default che presuppone l'uso di una “initial ramdisk” che viene riscritta con il comando mk_initrd. Nelle versioni recenti di ciò avviene automaticamente all'installazione del kernel.

Per poter avviare eventualmente il vecchio kernel, si deve configurare il bootloader di conseguenza. I dettagli sono reperibili nel capitolo Chapter 7, Il boot ed il boot manager.

Per installare il kernel originale di che trovate sui CD, dovete procedere in modo analogo. Sul CD 1 o DVD trovate nella directory boot il kernel standard sotto forma di pacchetto rpm. Installatelo come descritto sopra. Se appare un messaggio di errore che vi comunica che è stato già installato un pacchetto più recente, aggiungete al comando rpm l'opzione --force.