Comunque tornando all'oggetto del titolo del post, per verificare se il problema è stato risolto nella versione di sviluppo del kernel ho deciso di compilare la versione di sviluppo corrente (nel momento in cui scivo la 2.6.23rc6).
Di cosa ho bisogno?
Prima di iniziare assicurarsi di aver installato i pacchetti bulid-essential, kernel-package e fakeroot. Il primo è necessario alla compilazione vera e propria mentre gli altri due serviranno a renderci la vita un po più semplice. A questo punto occorre scaricare l'ultima versione stabile del kernel e la patch per la versione di sviluppo. Nel mio caso l'ultima versione stabile è la 2.6.22.
N.B.
La patch può essere applicata solo al ramo principale! In pratica non può essere usata ad esempio la versione 2.6.22.6 ma solo la 2.6.22.
La versione corretta da scaricare e sulla quale applicare la patch è in genere linkata a destra della patch con la lettera B.
Quindi procediamo e scarichiamo il file linux-2.6.22.tar.bz2 e la patch cioè il file patch-2.6.23-rc6.bz2
Come procedo per la compilazione?
Prima di tutto occorre estrarre l'archivio con i sorgenti del kernel e applicare la patch. Creiamo una directory nella nostra home che chiameremo tmp e estraiamo i sorgenti del kernel. A questo punto avremo la directory ~/tmp/linux-2.6.22. Decomprimiamo la patch e copiamola all'interno di ~/tmp/linux-2.6.22. Applichiamo la patch con:
patch -p1 < patch-2.6.23-rc6A questo punto è fortemente consigliato importare la configurazione del kernel correntemente in uso o dell'ultima versione installata. Per farlo basta copiare il file
cp /boot/config-2.6.22-11-generic ~/tmp/linux-2.6.22/.configNel vostro caso la versione potrebbe essere differente.
A questo punto basta usare il comando:
make-kpkg --rootcmd fakeroot kernel_image
Probabilmente nella release candidate del kernel saranno state aggiunte nuove opzioni di configurazione non presenti nel file che abbiamo copiato dalla directory /boot. Per queste nuove opzioni vi verranno poste delle domande. In genere se non si hanno esigenze particolari è conveniente mantenere i valori di default.
Se tutto va a buon fine al termine dell'esecuzione del comando dovreste ritrovarvi un file .deb con il nuovo kernel pronto ad essere installato.
Nel mio caso purtroppo il problema non è stato risolto :( Non mi resta che confidare nei valorosi sviluppatori di Ubuntu.
Buona sperimentazione ;)
P.S.
Dopo aver installato il kernel è necessario generare l'immagine del disco ram iniziale con il
comando:
update-initramfs -c -k 2.6.23-rc6
e quindi aggiornare la voce relativa nel file di configurazione di grub in /boot/grub/menu.lst
In realtà quest'ultima operazione avrebbe dovuto essere automatica ma evidentemente per qualche motivo non ha funzionato.
Ottimo post!
RispondiEliminaGrazie ;)