• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Kernelupdate zu 2.6.6 --> Fehler beim entpacken

pburri

Member
Hi erstmals!

Ich will eigentlich ein Kernel update machen... Ich befolge logischerweise die anleitung von Thomas blabla... :D

Ichhabe mir die beiden Files (den neuen kernel und den patch) runtergeladen, als bz2. den kernel entpacken geht... aber laut Thomas muss man so patchen, bzw. das ist ein Teil davon:

Zum eigentlichen Patchen benötigt man das Programm "patch", was sich in einem eigenen RPM auf den CDs bzw. der DVD der Distribution befindet. Da die Patches in der Regel komprimiert sind, sollte man wie folgt vorgehen:
$> cd /usr/src/linux-2.6.x
$> gunzip -c /pfad/zu/patch.gz | patch -p1 --dry-run
bzw.
$> bunzip2 -c /pfad/zu/patch.bz2 | patch -p1 --dry-run

Wenn ich dies mache kommt folgender fehler:

Code:
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------------
|diff .Nru a/CREDITS b/CREDITS
|--- a/CREDITS  Sun May   9  19:33:46 2004
|+++ b/CREDITS  Sun May   9  19:33:46 2004
--------------------------------
File to patch

Was ist hier das Problem?
Danke für die antworten!
 
A

Anonymous

Gast
Ich benutzte den Kernel 2.6.6 von Kernel.org ungepatcht und er läuft gut (ist also die Frage ob du unbedingt auf 2.6.7 patchen musst).

Mir scheint, dass der Patch im Verzeichnis der Kernelquellen liegen muss, also in /usr/src/linux-2.6.x. Denn sonst macht ja die Option -p1 keinen Sinn, wenn der Patch sonstwo liegt. Da ich aber noch nie gepatcht habe ist dies nur eine Vermutung.
 
OP
P

pburri

Member
Soweit so gut! Eine weitere Frage:

Ich führe den befehl aus, der funtzt auch... nun fragt er:

Code:
Reversed (or previously applied) patch detected! Assume -R? [n]

Was muss ich da sagn?
 
A

Anonymous

Gast
Es wäre jetzt wirklich interessant, welche Quellen du mit welchem patch patchst (klingt bescheuert). Passen die möglicherweise nicht zusammen?

'man patch' sagt über 'reversed patch (-R)' einiges, ich habe aber das meiste nicht verstanden. Ich denke wenn du mit 'y' antwortest, wird patch versuchen zwischen alter und neuer Version zu unterscheiden und immer versuchen die neue Version zu nehmen. Ob das funktioniert weiss ich nicht.
 
OP
P

pburri

Member
grml ^^ is mir zu komisch... immer mit y beantworten ^^ sind net grad wenig dateien ^^ Kannst mir den link geben wo du deine files her hast? (kernel + patch) Wäre dir sehr dankbar!
 
A

Anonymous

Gast
Wie ich bereits sagte:
Ich benutzte den Kernel 2.6.6 von Kernel.org ungepatcht

Also: keine Patches!!

Du kannst den aber auch von ftp.gwdg.de ziehen:

ftp://ftp.gwdg.de/linux/kernel.org/linux/kernel/v2.6

Ich glaube ich weiss jetzt was dein Problem ist, muss aber raten, da du noch immer keine Versionen gepostet hast:

Kann es sein, dass deine Kernelversion die gleiche Nummer hat wie dein Patch? z.B. linux-2.6.6.tar.bz2 und patch-2.6.6.bz2 ?
Dann kann das nicht funktionieren, da der patch aus einem 2.6.5 einen 2.6.6 machen würde, was dein Kernel jedoch schon ist.
 
OP
P

pburri

Member
Du hast richtig geraten ^^'

Tut mir leid, bin ein kleiner Linux n00b ^^ Noch nicht solange dabei :D

Aber danke vielmals! :)
 
OP
P

pburri

Member
Oh man... Ich glaub ich muss wirklich noch viel lernen ^^

Also:

Hab mir das file mal gesogen... und auch mit

Code:
rm -f /usr/src/linux

Den Link gelöscht
und mit

Code:
tar xzf /root/linux-2.6.6.tar.gz
Entpackt...

Eben falls den neuen Link erstellt mit

Code:
ln -s linux-2.6.6 linux

Ich vermute das war noch nicht alles :oops:

Kannst mir nochmal ein paar Tipps geben? *gg*
 
A

Anonymous

Gast
Warum meinst du das wäre noch nicht alles?

Den Link hättest du noch nicht ändern müssen, macht aber nix.

Wenn du jetzt in /usr/src einen Ordner namens linux-2.6.6 hast, dann ist alles OK und du kannst beginnen.

Ich finde übrigens die Möglichkeit ganz nett, den Kernel in einem separaten Verzeichnis zu kompilieren (BUILD-Directory). Dann kannst du verschiedene Konfigurationen ausprobieren, ohne immer alles gleich zu überspielen. Das ist auch bei Thomas Hertweck beschrieben.
Da kann eigentlich nix schiefgehen, wenn du seiner Anleitung folgst:
config klonen (als user)
anpassen
kompilieren
installieren (als root)

Nicht unwichtig ist allerdings, von welchem System aus du das Update machst. Ist es eine 9.1, sollte alles ohne Vorarbeiten laufen, bei einer 9.0 muss mkinitrd upgedatet werden und eine /etc/modprobe.conf erzeut werden (steht alles im Howto!!!).
 
OP
P

pburri

Member
Ist das normal das wenn ich weiter folge und den Kernel klone, er jegliche [NEW]'s mit y, n oder m beantwortet haben will? Dünkt mich, das hatte ich schon einmal! :roll:
 
A

Anonymous

Gast
Das ist normal! Besonders, wenn du von 2.4 auf 2.6 updatest, sind viele Parameter neu hinzugekommen, die natürlich konfiguriert werden wollen.

Meistens ist die default-Einstellung OK. Ich habe einfach immer bestätigt und dann später mit xconfig meine Anpassungen gemacht (ist übersichtlicher).
 
OP
P

pburri

Member
Ok, das hab ich jetzt mal! Jetzt komt das maken also compilieren des kernels...

Im fall damit:
Code:
make 0=/usr/src/linux-2.6.6

Oder lieg ich da falsch? Oo
 
A

Anonymous

Gast
Also so würde ich das nicht machen! Die Option O= sollte schon auf ein anderes Verzeichnis zeigen. So geht es zwar auch, aber dann kannst du die Option auch weglassen, da es die default-Einstellung ist.

Kompiliert wird immer aus dem Quellverzeichnis heraus (also /usr/src/linux-2.6.6) und ohne Option O= auch in dieses Verzeichnis hinein. Mit O= lagerst du die Dateien während des kompilierens in das sogenannte Build-Verzeichnis aus und hast somit die Quellen von kompilierten Kernel immer sauber getrennt.
 
OP
P

pburri

Member
Wenn ich fertig bin, werde ich mir eine eigene Gebrauchsanweisung schreiben, könntest du die dann mal durchschaun? Büdde ^^
 
A

Anonymous

Gast
Wenn dir die Anleitung von Thomas Hertweck nicht reicht :wink:

Kannst sie ja hier mal posten. Wenn sie gut ist, dann kann Moenk sie vielleicht in die FAQ aufnehmen.
 
OP
P

pburri

Member
Mich dünkt einfach, die von Thomas ist ein bissel zu kompliziert... Meine wird nur eine möglichkeit abdecken, aber sie funktioniert ^^ und man muss net immer den kollegen fragen wie das geht.... :D nix @ thomasens HowTo! Da is viel arbeit dahinter... nur mir a bissel zu viel gschrieben... bin net so der roman leser... ;)
 
OP
P

pburri

Member
Also, ich habe den Kernel installiert und die boot datei bearbeitet...
Wenn ich Linux_neu starte, bleibt er bei dieser Meldung stecken:

Code:
Bad EIP value.
<0>Kernel Panic: attempt to kill init
 
A

Anonymous

Gast
Die Meldung kannte ich noch nicht. Das einzig Hilfreiche, dass beim googeln rauskommt ist:

http://www.linuxcompatible.org/thread1472-1.html

Hast du viel am Kernel verändert? Sind alle notwendigen Programme upgedated? Hast du die initrd erstellt, die System.map kopiert?

Viele Fragen, viele Fehlermöglichkeiten. Aber das bringt eine neuer Kernel eben mit sich. Ich musste 5x neu kompilieren, bis meine Festplatte richtig erkannt wurde. Als Newbie hilft eben nur Trial&Error oder viel lesen (aber das liegt dir ja nicht :wink: und mir auch nicht :D )
 
Oben