Ricompilazione Kernel per Niubbi

Da GolemWiki.
Versione del 26 set 2012 alle 16:05 di Giulio (discussione | contributi) (Aggiunta alla categoria "Howto")

consigli (per noobs) su come installare un nuovo kernel...


compilare e installare una nuova versione del kernel è abbastanza semplice, ma è bene ricordarsi alcuni trucchetti...

prima di tutto, da dove scaricare le ultime versioni del kernel: The Linux Kernel Archives è il posto giusto!! :-)


ok... questo era banale... passiamo alle cose serie: se volete compilare un kernel con le stesse impostazioni di quello che avete attualmente, è sufficente copiare il file .config (notare il punto davanti al nome del file!!) dalla cartella che contiene i sorgenti del kernel attualmente in uso. si possono presentare 2 casi:

- avete appena installato la vostra distribuzione: in questo caso avrete un file config-<versione_del_kernel> nella cartella /boot. copiate questo file nella cartella che contiene i sorgenti del nuovo kernel e rinominatelo in .config.

- avete già compilato in precedenza un'altra versione del kernel (nel qual caso probablimente non avete bisogno di questa guida :-p): copiate il file .config dalla directory dei sorgenti del vecchio kernel


quindi eseguite il comando


[user@host linux-2.6.15]$ make oldconfig


molto probabilmente, in particolare se il vecchio kernel era particolarmente vecchio (la ripetizione è voluta... :-), vi verrà richiesto se includere o meno le nuove caratteristiche... se non sapete cosa fare, premente invio in risposta a tutte le domande che vi vengono fatte (serve a selezionare l'opzione di default).


una volta che il nuovo kernel è configurato, eseguite il comando


[user@host linux-2.6.15]$ make


che serve a compilare i sorgenti, quindi diventate super-user


[user@host linux-2.6.15]$ su

Password: <password_di_root>


spostatevi nella cartella /lib/modules e create la cartella che conterrà i moduli


[root@host modules]# mkdir <versione_del_kernel>


esempio: se state installando il kernel 2.6.15 dovete creare una cartella di nome '2.6.15'

[root@host modules]# mkdir 2.6.15


(secondo me questa cosa dovrebbe farla il make install, ma, non sò perché, non lo fà... :-/)


quindi tornate nella cartella dei sorgenti e lanciate i comandi


[root@host linux-2.6.15]# make install

e

[root@host linux-2.6.15]# make modules_install


il grosso è fatto, ma ancora non abbiamo finito. prima cosa, dovete riconfigurare il bootloader, in particolare se usate lilo, mentre se usate grub potete anche non fare niente, almeno per ora... per riconfigurare lilo è sufficiente lanciare il comando


[root@host linux-2.6.15]# /sbin/lilo


visto che il make install del kernel aggiorna automaticamente il file /etc/lilo.conf


a questo punto parrebbe tutto a posto, solo che... alcune ditribuzioni non includono i driver dei filesystem nel kernel, ma li compilano come moduli!! se è il vostro caso (ad esempio red-hat e fedora) o non sapete dove guardare per accertarvene, dovete fare un'ultima cosa: creare un ram disk con initrd. come fare?? facile!!

cancellate (o rinominate) il file /boot/initrd-<versione_del_kernel>.img, quindi lanciate il comando


[root@host linux-2.6.15]# /sbin/mkinitrd /boot/initrd-<versione_del_kernel>.img <versione_del_kernel>


esempio: per il kernel 2.6.15 il comando è

[root@host linux-2.6.15]# /sbin/mkinitrd /boot/initrd-2.6.15.img 2.6.15



a questo punto potete fare il reboot (e sperare).... :-p