Hi,
also ich wollte mir ein paar kernelpatches einspielen.
dann hab ich mir die also von http://members.optusnet.com.au/ckolivas/kernel/ runtergeladen, aber die sind im bzip2 format.
die zu entpacken ist ja jetzt nicht das problem, aber in der kernel HOWTO steht das ganze nur für .gz files:
zcat patch-2.0.1.gz | patch -p0 2>&1 | tee patch.out
...ich hab da schon ein bisschen mit patch rumgespielt. das wollte aber nie patchen:
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
wie geht denn das ganze jetzt...?
Danke
Manuel
Kernel patchen
Re: Kernel patchen
Folgender Vorschlag:
Spiel den Patch in /usr/src
Gehe dann in Linux
patch -p1 < zcat ../patchname
Cheers
Michael
Spiel den Patch in /usr/src
Gehe dann in Linux
patch -p1 < zcat ../patchname
Cheers
Michael
Re: Kernel patchen
also zcat läuft schon mal nicht. weder mit der bzip2 datei, noch mit der entpackten plaintext datei.
logischer weise gibts:
zcat: IrgendeineDate: not in gzip format
hat nochjemand eine idee?
logischer weise gibts:
zcat: IrgendeineDate: not in gzip format
hat nochjemand eine idee?
Re: Kernel patchen
Weniger ist manchmal mehr:
cat patch-2.0.1.gz | patch -p0 2>&1 | tee patch.out
zuvor natürlich den Patch mit bunzip entpacken
MfG
S. Pfeffer
cat patch-2.0.1.gz | patch -p0 2>&1 | tee patch.out
zuvor natürlich den Patch mit bunzip entpacken
MfG
S. Pfeffer
Re: Kernel patchen
@S.Pfeffer: ?!? Nein, es ist weder ge-gzip-t noch kann patch meines Wissens mit gezippten Patches direkt umgehen.
Die man-Page von bzip2 ist eigentlich recht gut - mal reinschauen! (Ganz davon abgesehen, dass Unix-like Komprimierer alle die gleichen Optionen für gleiche Zwecke verwenden...)<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">bzip2 -dc < patch.bz2 | patch -p0 2>&1 | tee patch.out</font><hr></pre></blockquote>Die Option "-c" ist (meine ich) sogar doppelt gemoppelt, wenn man die Dateieingabeumlenkung verwendet. Und ob man nun -p0 oder -p1 benötigt, hängt davon ab, wie der Patch erstellt wurde. Meistens funktioniert Michaels Variante: Ins Hauptverzeichnis der Linux-Sourcen gehen und -p1 verwenden, ggf. -p0.
Jochen
Die man-Page von bzip2 ist eigentlich recht gut - mal reinschauen! (Ganz davon abgesehen, dass Unix-like Komprimierer alle die gleichen Optionen für gleiche Zwecke verwenden...)<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">bzip2 -dc < patch.bz2 | patch -p0 2>&1 | tee patch.out</font><hr></pre></blockquote>Die Option "-c" ist (meine ich) sogar doppelt gemoppelt, wenn man die Dateieingabeumlenkung verwendet. Und ob man nun -p0 oder -p1 benötigt, hängt davon ab, wie der Patch erstellt wurde. Meistens funktioniert Michaels Variante: Ins Hauptverzeichnis der Linux-Sourcen gehen und -p1 verwenden, ggf. -p0.
Jochen
Re: Kernel patchen
Ach ja, und wenn man sich die Sourcen nicht mit einem fehlerhaft angesetzten Patch zerschiessen will, kann man ja erst mal die Option "--dry-run" zu patch verwenden. Es passiert alles "wie in echt" bis auf das tatsächliche Patchen der Dateien.
Jochen
Jochen
Re: Kernel patchen
Hi
nicht bzip sondern bunzip verwenden, nur das er nicht durcheinander kommt
Gepackte Patches : bunzip2 -cd patchsowieso.bz2 | patch -p1
Nicht gepackt : patch -p1 < patchsowieso
Entfernen : patch -R -p1 < patchsowieso
Es spricht auch nichts dagegen hier ohne Pipe zu arbeiten, also den Patch vorher entpacken und dann patchen wenn man damit besser zurechtkommt, man muß ja nicht immer alles in einem Befehl machen, auch wenn das oft so gemacht wird.
bunzip patchsowieso.bz2
patch -p1 < patchsowieso
Marc
nicht bzip sondern bunzip verwenden, nur das er nicht durcheinander kommt
Gepackte Patches : bunzip2 -cd patchsowieso.bz2 | patch -p1
Nicht gepackt : patch -p1 < patchsowieso
Entfernen : patch -R -p1 < patchsowieso
Es spricht auch nichts dagegen hier ohne Pipe zu arbeiten, also den Patch vorher entpacken und dann patchen wenn man damit besser zurechtkommt, man muß ja nicht immer alles in einem Befehl machen, auch wenn das oft so gemacht wird.
bunzip patchsowieso.bz2
patch -p1 < patchsowieso
Marc
Re: Kernel patchen
also
patch -p1 < patchsowieso
läuft im prinzip, der rest nicht.
alle patches werden geskippt...
wieso?
patch -p1 < patchsowieso
läuft im prinzip, der rest nicht.
alle patches werden geskippt...
wieso?
Re: Kernel patchen
@Marc: Also entweder "bzip2 -d" oder "bunzip2" - da das so oder so das gleiche Programm ist und der Name "bunzip2" nur als implizit gesetzte "-d"-Option (decompress) gilt...
@Manuel: Deine letzte Aussage ist mehrdeutig. Läuft "patch -p1" jetzt, nur bei anderen Werten für -p läuft es nicht und Du möchtest wissen, wieso? Oder klappt der Aufruf mit dem entpackten Patch, aber es wird immer alles geskippt? patch ist recht geschwätzig; ausser "skipped" sagt er auch meist dabei, was schief gegangen ist. Du kannst auch mal die ersten 10 Zeilen oder so des Patches hier posten. Dann kann man recht leicht sehen, von wo aus mit welchem Wert von -p patch aufgerufen werden muss.
Natürlich bleibt die Möglichkeit, dass der Patch nicht zur Kernelversion passt, die Du verwendest. Alle Patche aus dem Netz gehen meist vom Vanilla-Kernel von <a href="ftp://ftp.kernel.org" target="_blank"><!--auto-->ftp://ftp.kernel.org</a><!--auto--> aus. Wenn Du versuchst, die Patche auf die Sourcen eines Distributionskernels anzuwenden kann das ohne weiteres schiefgehen, weil der Distributor ggf. schon andere Patches übernommen hat, die sich mit Deinem Patch beissen...
Jochen
@Manuel: Deine letzte Aussage ist mehrdeutig. Läuft "patch -p1" jetzt, nur bei anderen Werten für -p läuft es nicht und Du möchtest wissen, wieso? Oder klappt der Aufruf mit dem entpackten Patch, aber es wird immer alles geskippt? patch ist recht geschwätzig; ausser "skipped" sagt er auch meist dabei, was schief gegangen ist. Du kannst auch mal die ersten 10 Zeilen oder so des Patches hier posten. Dann kann man recht leicht sehen, von wo aus mit welchem Wert von -p patch aufgerufen werden muss.
Natürlich bleibt die Möglichkeit, dass der Patch nicht zur Kernelversion passt, die Du verwendest. Alle Patche aus dem Netz gehen meist vom Vanilla-Kernel von <a href="ftp://ftp.kernel.org" target="_blank"><!--auto-->ftp://ftp.kernel.org</a><!--auto--> aus. Wenn Du versuchst, die Patche auf die Sourcen eines Distributionskernels anzuwenden kann das ohne weiteres schiefgehen, weil der Distributor ggf. schon andere Patches übernommen hat, die sich mit Deinem Patch beissen...
Jochen
Re: Kernel patchen
@Jochen
Sorry C&P Fehler
sollte natürlich bunzip patch-2.0.1.bz2; cat patch-2.0.1 | patch -p0 2>&1 | tee patch.out heissen
Sorry C&P Fehler
sollte natürlich bunzip patch-2.0.1.bz2; cat patch-2.0.1 | patch -p0 2>&1 | tee patch.out heissen