2015-10-01 23 views
5

Voglio aggiungere rt patches a Linux, ho preso il kernel 3.18.9 e la patch 3.18.9-rt4. ho copiato patches-3.18.9-rt4.tar.gz nella cartella del kernel Linux. Ora ho eseguito patch zcat-3.18.9-rt4.tar.gz | patch -p1 Dopo l'esecuzione di questo comando sta chiedendo per il file di patch come mostrato di seguitoCome aggiungere rt patch in linux

|--- a/arch/sparc/Kconfig 
|+++ b/arch/sparc/Kconfig 
-------------------------- 
File to patch: 

voglio aggiungere tutte le patch in una sola volta, come posso raggiungere questo obiettivo?

+1

Sono abbastanza sicuro che questo dovrebbe andare a http://superuser.com/ - non è un problema di programmazione. Aggiungi informazioni da quale directory stai eseguendo il comando 'patch', sembra che l'opzione' -p' non corrisponde qui. –

risposta

5

Il problema

La patch si sta utilizzando contiene la patch RT come un gran numero di file separati, infagottato in un archivio tar, poi compressi in un file gz. L'esecuzione di zcat (o amici) sul file lo decomprimerà, quindi passerà il risultato a patch.

Tuttavia, poiché il risultato dopo la decompressione del file di correzione è un archivio .tar, questo è anche ciò che viene passato in patch, che non funzionerà.

La soluzione facile

Utilizzare la versione singolo file della patch RT, invece, che è solo un file compresso .patch (queste versioni possono essere riconosciuto da essere chiamato "patch -..." invece di "patch -...", 3.18.9-rt5 può essere scaricato da qui: https://www.kernel.org/pub/linux/kernel/projects/rt/3.18/older/patch-3.18.9-rt5.patch.gz).

Poi seguire le istruzioni del RT Preempt Howto: (basta regolarlo a proprio formato versione del kernel/compressione)

Patch per il kernel

Dopo il download, decomprimere il tarball kernel e cambiare in la directory dei sorgenti del kernel. Patch il kernel con livello di patch p1:

tar xfj linux-2.6.23.1.tar.bz2 
cd linux-2.6.23.1 
bzcat ../patch-2.6.23.1-rt11.bz2 | patch -p1 
+2

Ah, per prima cosa ho dimenticato il '.tar.gz'. Forse aggiungere * perché * non funziona: '.tar' è un archivio di più file e' zcat'/'bzcat'/... sono solo per decomprimere un singolo file. –

+0

Aggiunto ora - grazie per il suggerimento! – sonicwave

+0

Grazie, il problema è stato risolto – anikhan