PDA

View Full Version : Aggiornare il kernel con una Patch!!!!!


Bulfio
06-09-2003, 16:00
Ciao, dato che l'unica cosa che non mi va è il bluetooth, ora sono deciso a far andare anche quello. Ho tutto quello che mi serve, ad eccezione di un file: rfcomm.o. Devo quindi mettere una patch al kernel; l'ho scaricata, riesco a farla partire, ma ogni volta mi chiede il file da "patchare".... ma io non so quale sia, dato che devo aggiungerlo!!
Qualcuno mi sa dire qualcosa? Non c'è la possibilità che lui aggiorni il kernel e stop? Ho letto anche sulla guida, ma non dice nulla in merito. Ah, uso la slack 9.0, con kernel 2.4.20 ...

Chiedo aiuto!!!!! :confused: :confused:

mjordan
06-09-2003, 17:05
Originariamente inviato da Bulfio
Ciao, dato che l'unica cosa che non mi va è il bluetooth, ora sono deciso a far andare anche quello. Ho tutto quello che mi serve, ad eccezione di un file: rfcomm.o. Devo quindi mettere una patch al kernel; l'ho scaricata, riesco a farla partire, ma ogni volta mi chiede il file da "patchare".... ma io non so quale sia, dato che devo aggiungerlo!!
Qualcuno mi sa dire qualcosa? Non c'è la possibilità che lui aggiorni il kernel e stop? Ho letto anche sulla guida, ma non dice nulla in merito. Ah, uso la slack 9.0, con kernel 2.4.20 ...

Chiedo aiuto!!!!! :confused: :confused:

Una patch in genere aggiorna i sorgenti del kernel...

Supponendo che hai il kernel nella dir /usr/src/linux copiavi dentro la patch da installare. Entra dentro la dir e lancia:

patch -p1 < file_di_patch

Successivamente ricompila il kernel. Ricorda che la patch dipende dalla versione *ESATTA* del kernel (e dipendentemente dalla path che hai potrebbe solo essere applicabile ad un kernel vanilla.)

Bulfio
06-09-2003, 17:08
Ho la slack 9.0 e dentro /usr/src/ non c'è nessuna folder di nome linux...dove può essere???

anche perchè se non trovo il kernel non posso nemmeno poi ricompilarlo....

Un'altra cosa: se scompatto il file e poi lancio il comando patch -p1 nomefile, il cursore va a capo e si ferma lì......:confused: :confused:

mjordan
06-09-2003, 17:18
Originariamente inviato da Bulfio
Ho la slack 9.0 e dentro /usr/src/ non c'è nessuna folder di nome linux...dove può essere???

anche perchè se non trovo il kernel non posso nemmeno poi ricompilarlo....

Un'altra cosa: se scompatto il file e poi lancio il comando patch -p1 nomefile, il cursore va a capo e si ferma lì......:confused: :confused:

Il cursore si ferma perchè non hai usato la redirezione.
Devi fare

patch -p1 < nomefile


Per quano riguarda i sorgenti...Non è che debba per forza chiamarsi linux ... In genere linux è un link alla dir linux-2.4.xx dove xx è la patchlevel version del kernel ...
Guarda meglio. Che dir hai dentro /usr/src???

Bulfio
06-09-2003, 17:43
Dentro la cartella /usr/src/ c'è dentro solo un'altra cartella chiamata rpm, ma dentro ci sono altre cartelle vuote..tutto qui.
Se vado a vedere nel control center, e vado alla gestione del kernel mi dice questo:

"The kernel configuration could not be read due to the following error:

cannot open /usr/src/linux/arch//config.in for reading


Either your kernel sources contain invalid configuration rules or you just found a bug in the KDE Kernel Configurator."

A me pareva strano che neanche il control center trovi il kernel...cercando ho trovato questa cosa: /lib/modules/2.4.20/kernel/arch/..ma dentro arch ho trovato solo /kernel/ con dentro 4 file .gz, e nient'altro... più di così non ho trovato...

mjordan
06-09-2003, 17:46
Originariamente inviato da Bulfio
Dentro la cartella /usr/src/ c'è dentro solo un'altra cartella chiamata rpm, ma dentro ci sono altre cartelle vuote..tutto qui.
Se vado a vedere nel control center, e vado alla gestione del kernel mi dice questo:

"The kernel configuration could not be read due to the following error:

cannot open /usr/src/linux/arch//config.in for reading


Either your kernel sources contain invalid configuration rules or you just found a bug in the KDE Kernel Configurator."

A me pareva strano che neanche il control center trovi il kernel...cercando ho trovato questa cosa: /lib/modules/2.4.20/kernel/arch/..ma dentro arch ho trovato solo /kernel/ con dentro 4 file .gz, e nient'altro... più di così non ho trovato...

Ergo non hai installato i sorgenti del kernel ... Installali e poi applica la patch ...

Bulfio
06-09-2003, 17:49
Ho pensato anche a sta cosa, e sono andato a vedere nel gestore di pacchetti slack e ho visto che ho installato i seguenti pacchetti del kernel:
kernel-headers....
kernel-ide.....
kernel-modules.....

nel caso non siano questi, come faccio a installarli? ho provato a cercare i pacchetti, ma ogni volta mi esce dalla shell....cioè gli dico di installare i pacchetti dal punto corrente e mi si chiude la shell, allora gli dico di installarli da un punto diverso, gli do il percorso del cdrom, e mi si chiude ancora...

mjordan
06-09-2003, 17:57
Originariamente inviato da Bulfio
Ho pensato anche a sta cosa, e sono andato a vedere nel gestore di pacchetti slack e ho visto che ho installato i seguenti pacchetti del kernel:
kernel-headers....
kernel-ide.....
kernel-modules.....

nel caso non siano questi, come faccio a installarli? ho provato a cercare i pacchetti, ma ogni volta mi esce dalla shell....cioè gli dico di installare i pacchetti dal punto corrente e mi si chiude la shell, allora gli dico di installarli da un punto diverso, gli do il percorso del cdrom, e mi si chiude ancora...

Prova a vedere con una cosa del tipo kernel-sources

Bulfio
06-09-2003, 18:10
Ho scaricato i sorgenti da internet: linux-2.4.20.tar.gz e li ho scompattati in una cartella linux-2.4.20 nella cartella root: ora viene la domanda dell'ignorante: e ora? Non ho la più pallida idea di come si installino dei sorgenti, quindi non è che mi potresti dire passo passo come si fa?

Grazie...:muro:

Bulfio
06-09-2003, 18:49
ok, sono riuscito ad installare i sorgenti, ora devo installare la patch... speriamo in bene....

Comunque grazie dei consigli dati!!!!:D :D

mjordan
06-09-2003, 18:51
Originariamente inviato da Bulfio
Ho scaricato i sorgenti da internet: linux-2.4.20.tar.gz e li ho scompattati in una cartella linux-2.4.20 nella cartella root: ora viene la domanda dell'ignorante: e ora? Non ho la più pallida idea di come si installino dei sorgenti, quindi non è che mi potresti dire passo passo come si fa?

Grazie...:muro:

Perfetto.
Sposti la directory in /usr/src


mv linux-2.4.20 /usr/src


entri nella dir /usr/src e crei un link simbolico ad essa:


cd /usr/src
ln -s linux-2.4.20 linux


Entri nella dir usr/include e cancelli eventuali link agli header vecchi, impostando i nuovi link:


cd /usr/include
rm -fr asm linux
ln -s /usr/src/linux/include/linux linux
ln -s /usr/src/linux/include/asm-i386


Entri nella dir dei sorgenti del kernel e avvii il programma di configurazione dei sorgenti:


cd /usr/src/linux
make menuconfig


Esci, salva la configurazione.

Per ricostruire il tutto:


make dep ; make bzImage ; make modules


Se la compilazione è andata a buon fine installi i moduli nuovi del nuovo kernel:


make modules_install


Ora tutto e pronto. Devi specificare le opzioni del boot loader per fargli caricare il nuovo kernel.

L'immagine si trova in /usr/src/linux/arch/i386/boot/bzImage

Bulfio
07-09-2003, 18:11
Sono riuscito a fare tutto, infatti ora quando parte e dò il comando hciconfig, mi trova il dispositivo; però è sorto un altro problema: non parte tutto il resto: il mouse, X, e credo anche il resto... Penso che non abbia tenuto il vecchio config: come faccio quindi a usare il vecchio config, unito ai nuovi driver bluetooth? :confused:

Grazie!

Python
07-09-2003, 18:43
Originariamente inviato da Bulfio
Sono riuscito a fare tutto, infatti ora quando parte e dò il comando hciconfig, mi trova il dispositivo; però è sorto un altro problema: non parte tutto il resto: il mouse, X, e credo anche il resto... Penso che non abbia tenuto il vecchio config: come faccio quindi a usare il vecchio config, unito ai nuovi driver bluetooth? :confused:

Grazie!


allora a parte che non ho capito, se dovevi scaricarti i sorgenti prendevi gli ultimi esistenti e non quelli antecedenti x mettergli la "patch" per aggiornarli come se fossero + nuovi (come dire hai preso i 2.4.20 e gli hai messo le patch x farlo diventare 2.4.22 a sto punto prendevi il 2.422)

non dipende dalle configurazioni, ma dal kernel stesso, compilarlo non è cosi facile se non l'hai configurato a puntino (io c'ho smanettato 2 giorni x compilarne uno perfettamente funzionante)

Bulfio
07-09-2003, 18:55
Dici che se riparto da zero è meglio?
Qual è l'ultimo kernel stabile?