giovedì 6 settembre 2007

kernel 2.6.22.6 , installiamolo utilizzando il vecchio file di configurazione del kernel precedente.

Aggiorniamo il kernel all'ultima versione disponibile, utilizzando il file di configurazione del vecchio kernel.
Questa procedura è utile quando si vuole intervenire solo su alcune parti del kernel senza stravolgere la configurazione precedente.

Prepariamo il sistema installando alcuni paccheti che ci serviranno per la compilazione,scriviamo da terminale:

sudo apt-get install build-essential bin86 kernel-package libncurses5 libncurses5-dev fakeroot

scarichiamo l'ultima versione disponibile del kernel dal sito www.kernel.org è spostiamolo dentro /usr/src, scriviamo sempre da terminale:

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.6.tar.bz2

sudo mv linux-2.6.22.6.tar.bz2 /usr/src

spostiamoci dentro /usr/src, scompattiamo l'archivio.

cd /usr/src
sudo tar jxvf linux-2.6.22.6.tar.bz2

serviamoci del file di configurazione del kernel precedente che si trova dentro la cartella /boot e copiamolo nella cartella /usr/src/linux-2.6.22.6 diamo da terminale :

sudo cp -fr /boot/config-2.6.20-16-generic /usr/src/linux-2.6.22.6

benissimo adesso entriamo dentro la cartella linux-2.6.22.6, diamo il comando sudo make oldconfig, questo comando non fa altro che far partire la configurazione del kernel servendosi come punto di partenza del vecchio file di configurazione del kernel 2.6.20.16, dandovi la possibilità di abilitare le opzioni e caratteristiche nuove implementate nel nuovo kernel 2.6.22.6 , ad ogni domanda che il programma vi chiede rispondete, scrivendo y o n se non volete abilitare una voce.

cd /usr/src/linux-2.6.22.6
sudo make oldconfig

finita la configurazione diamo i comandi per la compilazione sempre da dentro la cartella linux-2.6.22.6, digitiamo:

sudo fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

la fase della compilazione durerà un po di tempo, alla fine troveremo due pacchetti deb dentro /usr/src installiamoli scrivendo da terminale:

cd ..
sudo dpkg -i linux-image-2.6.22.6-custom_2.6.22.6-custom-10.00.Custom_i386.deb
sudo dpkg -i linux-headers-2.6.22.6-custom_2.6.22.6-custom-10.00.Custom_i386.deb

con questi due ultimi comandi digitati il nostro kernel è stato aggiornato se possedete hardware di ultima generazione vi consiglio di dare il comando noapic nel file menu.lst per scongiurare problemi con il risparmio energetico e il modulo acpi del bios.

eccovi una copia del mio menu.lst .


sudo gedit /boot/grub/menu.lst
title Ubuntu, kernel 2.6.22.6-custom
root (hd0,0)
kernel /boot/vmlinuz-2.6.22.6-custom root=UUID=e83fce21-ab2d-4c32-8c60-c30d4a3b9c4f ro quiet splash locale=it_IT noapic
initrd /boot/initrd.img-2.6.22.6-custom
quiet
savedefault

title Ubuntu, kernel 2.6.22.6-custom (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.22.6-custom root=UUID=e83fce21-ab2d-4c32-8c60-c30d4a3b9c4f ro single noapic
initrd /boot/initrd.img-2.6.22.6-custom

title Ubuntu, kernel 2.6.20-16-generic
root (hd0,0)
kernel /boot/vmlinuz-2.6.20-16-generic root=UUID=e83fce21-ab2d-4c32-8c60-c30d4a3b9c4f ro quiet splash locale=it_IT
initrd /boot/initrd.img-2.6.20-16-generic
quiet
savedefault

title Ubuntu, kernel 2.6.20-16-generic (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.20-16-generic root=UUID=e83fce21-ab2d-4c32-8c60-c30d4a3b9c4f ro single
initrd /boot/initrd.img-2.6.20-16-generic

title Ubuntu, kernel 2.6.20-15-generic
root (hd0,0)
kernel /boot/vmlinuz-2.6.20-15-generic root=UUID=e83fce21-ab2d-4c32-8c60-c30d4a3b9c4f ro quiet splash locale=it_IT
quiet
savedefault

title Ubuntu, kernel 2.6.20-15-generic (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.20-15-generic root=UUID=e83fce21-ab2d-4c32-8c60-c30d4a3b9c4f ro single

title Ubuntu, memtest86+
root (hd0,0)
kernel /boot/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST


se sul vostro computer avete installata una scheda grafica nvidia o ati prima di riavviare il computer vi consiglio di installare il tool envy, che vi servirà ad installare i driver grafici, infatti quando si eseguono aggiornamenti del kernel si perdono le configurazione precedenti dei driver.
scarichiamo il pacchetto envy, scriviamo:
wget http://albertomilone.com/ubuntu/nvidia/scripts/envy_0.9.7-0ubuntu8_all.deb

installiamolo con gdebi o con dpkg scrivendo:

sudo dpkg -i envy_0.9.7-0ubuntu8_all.deb

lanciamo il programma prima di installare i driver disinstalliamoli, seguiamo i consigli che ci da il programma, finita l'installazione dei driver possiamo riavviare il computer, se tutto è andato per il verso giusto ci troveremmo con il nostro nuovo kernel installato.

per verificare che versione di kernel abbiamo digitate:
uname -a

4 commenti:

Edoardo ha detto...

Ciao!
Grazie per la bellissima guida, solo che ho un problema: al riavvio lo schermo è completamente distorto, e quando cerco di installare i restricted modules per il kernel in essere, apt-get non me li trova! Dove ho sbagliato? Ho un ATI Radeon x1600 che con i kernel precedenti è sempre andata benone...

Grazie 1000

santo vasta ha detto...

prova ad installare i driver ati con envy, prima però disinstalla i vecchi.
scrivi da terminale:

sudo gedit /etc/X11/xorg.conf

nel file di testo chesi apre cerca la riga che fa riferimento a fglrf o ati e scrivi al suo posto vesa, fatto questo riavvia il computer adesso fai partire il programma envy per l'installazione dei driver e vedi se funzionano.

Edoardo ha detto...

Ciao!
Ho scoperto che il problema era causato dall'avvio in sessione XGL...una volta riavviato in modalità normale tutto va alla grande. L'unico problema è che non mi riconosce la scheda wifi...ho una intel 3945 e non c'è verso di configurarla...ho provato a scaricare i restricted ma non li trova per questo kernel...come posso fare?
Grazie per l'aiuto!

santo vasta ha detto...

per i driver wifi prova ad utilizzare i driver windows sequendo la procedura spiegata sul sito www.ubuntu-it.it nella sezione, credo guide della comunica dacci un'occhiata.

ciao