Appendice 6: il kernel



Come già detto il Kernel è il motore di Linux
Ed è l'unico componenete che effettivamente si chiama 'Linux', anche se il suo nome si è poi in pratica esteso ad indicare l'intero sistema operativo.

Il kernel di Linux non è monolitico, ma modulare.
Il che significa che ad un nucleo centrale necessario possono essere aggiunti (oppure no) dei moduli, con funzioni e funzionalità particolari, a seconda delle proprie esigenze. Tali moduli aggiuntivi possono essere compilati direttamente nel kernel, diventando così un tutt'uno con esso ma appesantendolo di conseguenza, o, soprattutto se necessari solo saltuariamente, possono essere compilati a parte come 'moduli' e richiamati dal kernel quando servono.
Il kernel di Suse ha praticamente tutti i moduli possibili, la maggior parte dei quali compilata separatamente, in modo da consentire con facilità il funzionamento del sistema su qualsiasi piattaforma. Altre distribuzioni sono più spartane (e hanno quindi un kernel più 'leggero') ma, in presenza di particolari accessori, possono richiedere la ricompilazione del kernel (per aggiungere qualche modulo) da parte dell'utilizzatore.

Oltre al kernel, il motore, evidentemente occorrono altri programmi (ingranaggi) per poter far funzionare il PC. Ed oltre a questi occorre poi un'interfaccia (grafica o no) per permettere l'interoperabilità PC-utente.

Fermo restando tutto il resto è così pensabile (e in Linux fattibile) l'idea di cambiare di tanto in tanto il motore o quella di aggiungere al motore esistente un altro con caratteristiche diverse.

In tal caso sarà poi necessario modificare il file di configurazione di Grub (vedi appendice precedente) i n modo di avere la scelta al boot di avviare il sistema col kernel preferito.

La compilazione del kernel (per cui si rimanda alle numerose guide sui vari forum) non è difficile.
Da console si digita 'make menuconfig' ed appare una finestra grafica nella quale si possono scegliere i vari moduli da compilare nel jkernel o come moduli esterni. Salvata la configurazione, si dà il comando 'make' seguito dal comando 'make modules_install.
Il kernel compilato (che si chiama 'bzImage') si trova ora nella directory:
usr/src/versione-kernel/arch/i386/boot
per un sistema a 32 bit
oppure
usr/src/versione-kernel/arch/x86_64/boot
per un sistema a 64 bit

Basta copiare il file 'bzImage' (magari con un altro nome) nella directory /boot, aggiungere le righe necessarie al file menu.list di Grub e riavviare il sistema.
I moduli aggiuntivi si trovano nella directory: /lib/modules/versione_del_kernel
Un qualsiasi modulo può essere caricato, da root, col comando da konsole: modprobe nome_modulo_senza_suffisso
Una volta avviato il sistema, per vedere la versione del kernel utilizzata, digitare in konsole il comando:
uname -r
e premere invio




Indice

Valid HTML 4.01 Transitional