Ho eseguito la prova su Linux Red Hat 9. Tutti i passi che elencherò sono stati personalmente testati. Sono passato dal kernel 2.4.20-8 in dotazione con il CD di installazione di Red Hat 9, al kernel 2.4.26. I seguenti passi descriveranno pertanto la configurazione, la compilazione e l’installazione di quest’ultimo, ma sono validi per qualsiasi kernel 2.4.X (dove “X” sta ad indicare il numero del kernel che siete intenzionati ad usare). Non è il modo migliore in assoluto, ma è SICURO, dato che andrete ad usare una configurazione del kernel già valida per il vostro PC. Eseguite senza timore le seguenti operazioni entrando con i diritti di root.
Questa guida è rivolta ai beginner di linux e non agli utilizzatori esperti.
Ogni commento è ben accetto.
1. Scaricate il file linux-2.4.26.tar.bz2 (o quello 2.4.X di vostro gradimento) da ftp://ftp.kernel.org/pub/linux/kernel/v2.4.X
2. Mettere il file in /usr/src/
Adesso scompattate il file scaricato con il seguente comando:
# cd /usr/src/
# tar jxvf linux-2.4.26.tar.bz2
# cd linux-2.4.26
3. Digitate:
# make xconfig
(o “# make menuconfig” senza virgolette).
4. Dopo qualche istante vi apparirà una schermata che vi permetterà di configurare il vostro kernel. Se siete esperti non starete usando sicuramente questa guida, perciò do per buono che siate alle primissime armi con linux. Dato che la maggior parte delle voci che compariranno risulteranno per voi assolutamente incomprensibili, NON modificatele, ma semplicemente cercate il pulsante LOAD AN ALTERNATE CONFIGURATION FILE (se state usando xconfig, altrimenti se state usando menuconfig, scendete in basso con la freccia sino ad arrivare sulla scritta testé riportata). Adesso vi comparirà una label in cui selezionare una configurazione di kernel esistente. Questo passaggio è assolutamente sicuro, dato che voi caricherete la vostra attuale configurazione. Scrivete nella label:
/boot/config-2.4.20-8
Quindi caricatela (load). (La 2.4.20-8 è quella di default per Red Hat 9, ognuno dovrebbe andare a vedere qual è la sua nella directory /boot/ e troverete sicuramente un file di configurazione dal nome molto simile – se non uguale – a config-2.4.20-8).
N.B.: se state usando xconfig dovete cercare la vostra directory /boot/ con gli appositi tasti della finestra che vi comparirà, altrimenti dovrete digitare /boot/ nella label più in alto della finestra di selezione e scegliere config-2.4.20-8. Se invece state usando menuconfig, allora dovrete posizionare il mouse nella label di scelta, ciccare col tasto sinistro del mouse, cancellare la scritta che compare e scrivere /boot/config-2.4.20-8. Mi raccomando: NON usate i tastini numerici (quelli alla destra della vostra tastiera), perché con molta probabilità non riuscirete a scrivere alcunché.
5. Tra le varie voci di configurazione comparirà di sicuro File System. Cliccate su questa (se state usando xconfig, con menuconfig basta posizionarvi sopra con la freccia e premere invio per accedere ad una sotto-area di selezione). Assicuratevi che sia selezionata la voce ext3 journaling. Se è selezionata allora è tutto a posto, altrimenti selezionatela (cliccate su “y” per xconfig, portatevici sopra con la freccia e premete il tasto “y” con menuconfig). Adesso fate EXIT &SAVE.
6. Digitate (come richiesto dal messaggio che comparirà sulla vostra shell):
# make dep
7. Se NON si sono verificati messaggi di errore (e SOLO in questo caso), procedete e digitate dalla solita shell:
# make clean && make bzImage
Se si è verificato qualche errore forse avete toccato/selezionato qualche tasto di troppo. Non vi allarmate: riprendete dal punto 4 e rincominciate la procedura.
8. A questo punto, quasi sicuramente vi sarà comparso un messaggio del tipo:
The kernel is too big to standalone…
Non preoccupatevi, significa che il vostro kernel ha dimensioni tali da non entrare in un dischetto floppy. Adesso dovete digitare i seguenti comandi:
# make modules
Se il precedente comando non ha dato luogo ad errori, una volta terminata l’elaborazione da parte del PC (di solito la fase di creazione dei moduli dura diversi minuti, potete approfittarne per telefonare ai vostri amici o prendere un po’ d’aria) digitate anche quanto segue:
# make modules_install
9. A questo punto avete quasi finito: restano solo poche e semplici operazioni.
# cp /usr/src/linux2.4.26/arch/i386/boot/bzImage /boot/bzImage
se avete un i386
# mkinitrd /boot/initrd-2.4.26.img 2.4.26
N.B.: tra …bzImage e /boot/… della prima riga di comando c’è uno spazio, così come tra …/initrd-2.4.26.img e 2.4.26
10. Adesso resta solo da configurare il boot loader in modo che alla partenza venga caricato il vostro nuovo kernel. In questo tutorial darò per buono che stiate usando Lilo.
# cd /etc/
# vi lilo.conf
Adesso sarete nel programma vi che serve per leggere e modificare i file. Non è intuitivo da usare, ma eseguite le seguenti istruzioni alla lettera e non avrete problemi. In ogni caso, se avete combinato chissà quale confusione, premete il tasto ESC, quindi la sequenza “:q!” ma senza virgolette. In questo modo uscirete forzatamente dal file senza alterarlo.
All’interno del file muovetevi con le frecce. Posizionatevi sull’ultima lettera dell’ultima riga e premete il tasto “a”: adesso siete in modalità inserimento, come apparirà scritto in basso a sinistra sulla vostra shell. Lasciate una riga vuota (premendo invio) e quindi ricopiate quanto segue (se avete Red Hat 9 e state installando il kernel 2.4.26):
image=/boot/bzImage
label=Red-Hat-2.4.26
initrd=/boot/initrd-2.4.26.img
read-only
Quindi premete ESC e poi digitate a sequenza “:wq” sempre senza virgolette.
# lilo
Se non ci sono messaggi di errore proseguite, altrimenti riprendete dal comando # vi lilo.conf e ripetete le operazioni con maggior attenzione: avrete con molta probabilità commesso qualche errore di battitura.
--- Fine procedura ---
Con tale procedura non viene minimamente intaccato il vecchio che state usando: in caso di malfunzionamenti del nuovo kernel, potrete continuare ad usare quello vecchio, senza perdere i dati e dover reinstallare tutto da capo. Adesso non vi resta che riavviare il vostro PC. Vi dovrebbe comparire una schermata in cui poter scegliere con quale kernel far partire il vostro sistema operativo. Se avevate installato in precedenza il kernel 2.4.20-8 vi comparirà la scritta linux come prima scelta e poi la scritta Red Hat 2 4 26 come seconda scelta. Se non avete modificato i parametri di default, dovreste avere 10 secondi per scegliere quale delle due usare (linux sarà quella selezionata di default). Ovviamente selezionate la seconda (Red Hat 2 4 26) per testare se tutto è andato a buon fine. Qualora dopo qualche secondo vi comparisse una scritta del tipo kernel panic non preoccupatevi: probabilmente avete combinato qualche pasticcio. Riavviate il vostro PC e selezionate il vecchio kernel (linux) e riguardate le operazioni che avete eseguito per capire dove avete sbagliato.
Buon lavoro e buona sperimentazione col vostro nuovo kernel! :-)
Albe
P.S.: ricordate che con linux l'unico modo per imparare è provare, provare, provare...
Pratiche di ricompilazione del kernel Linux. Moduli e patch. /proc filesystem