Installando Fedora Core 6 su un PC d’emergenza, a seguito del furto che mi ha lasciato a piedi, mi sono imbattutto in un problema che mi ero già trovato davanti quando ho installato sul Thinkpad.
E’ un problema noto, elencato insieme alla soluzione nel sito del progetto Fedora.
I sintomi riguardano specialmente i notebook, dove per qualche motivo il processore va sempre alla massima velocità, anche se non ci sono applicazioni in esecuzione. Il demone cpuspeed non funziona perché non trova il supporto nel kernel alla variazione di velocità del processore.
Questo succede perché l’installer anaconda, per motivi che non sono ancora stati appurati, durante l’installazione sceglie l’architettura errata per il kernel: invece di i686 installa un kernel i586.
Per evitare il problema al momento dell’installazione, al prompt boot: che appare all’avvio dal supporto di installazione si passano i parametri:
linux i686
indicando al programma di installazione di selezionare un kernel di questo tipo.
Se invece abbiamo già Fedora funzionante, per verificare il tipo di kernel installato basta questo comando, dato da un terminale:
$ rpm -qa "kernel*" --queryformat "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n"
kernel-devel-2.6.18-1.2798.fc6.i586
kernel-2.6.18-1.2798.fc6.i586
Se i pacchetti installati sono per architettura i586 ed avete da un Pentium II™ in su, vuol dire che avete il kernel sbagliato.
Per correggere la situazione potete operare in questo modo, dall’utente root:
- installate il pacchetto yum-utils, che contiene l’utility yumdownloader
- scaricate la giusta versione di kernel
- se il kernel installato è di una versione predecente rispetto a quello scaricato da yumdownloader, potete installare direttamente il nuovo kernel e riavviare il computer
- se invece la versione di kernel è la stessa, occorre forzare l’installazione.
Per il passo 1 il comando è:
# yum install yum-utils
Per il passo 2 il comando è:
# yumdownloader kernel.i686
Per il passo 3:
# rpm -ivh kernel-*.rpm
Se invece la versione del pacchetto è la stessa, invece del passo 3 occorre eseguire il passo 4:
# rpm -ivh --replacefiles --replacepkgs kernel-*.rpm
e poi riavviare il computer in tutti e due i casi.
Al riavvio per avere conferma della giusta versione di kernel basta ripetere il comando rpm visto prima:
$ rpm -qa "kernel*" --queryformat "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n"
kernel-devel-2.6.18-1.2798.fc6.i586
kernel-2.6.18-1.2868.fc6.i686
kernel-headers-2.6.18-1.2868.fc6.i386
kernel-2.6.18-1.2798.fc6.i586
C’è ancora un problema: il pacchetto kernel-devel è per l’architettura sbagliata. Se abbiamo bisogno di compilare un driver non ci riusciremo a causa della differente configurazione del kernel i586 rispetto al tipo i686.
Da utente root togliamo il pacchetto kernel-devel per i586, prima di fare qualsiasi altra operazione:
# rpm -e kernel-devel-2.6.18-1.2798.fc6
Ora installiamo di nuovo il pacchetto kernel-devel, che viene scelto da yum con la giusta architettura:
yum install kernel-devel
Ora, controlliamo che sia usato il kernel giusto:
# uname -a
Linux aborigeno 2.6.18-1.2868.fc6 #1 SMP Fri Dec 15 17:32:54 EST 2006 i686 athlon i386 GNU/Linux
poi possiamo rimuovere il kernel i586:
# rpm -e kernel-2.6.18-1.2798.fc6
Fine. Attenzione, il comando rpm non avverte se si rimuove il kernel in esecuzione! Quindi ricontrollate tre volte i comandi digitati prima di eseguirli.
Per rendere le cose più semplici, potete usare questa procedura:
- installate Fedora Core 6 passando linux i686 al prompt boot: e siete a posto.
- Se avete già installato, NON eseguite l’aggiornamento
- cambiate kernel e kernel-devel come spiegato sopra
- procedete al normale aggiornamento.
Così non vi troverete altri pacchetti installati dall’aggiornamento con l’architettura errata.
(Modificato il 21 marzo 2007, su segnalazione di Alessandro Carducci)


#1 da Flavio il 19 January 2007 - 09:32
Grazie, ho trovato molto utili queste informazioni!
#2 da castello il 21 February 2007 - 15:28
Mi ha aiutato abbastanza. Bravo!
#3 da francesco il 24 February 2007 - 19:25
Meglio del sito della fedora… grazie.
#4 da Tony il 29 March 2007 - 15:28
GRANDE!!!!