Werde ich auf jedenfall mal aussprobieren. Alle Kernels ab dem 2.4.1 liessen sich bei mir nicht mehr kompilieren, sodass ich beim 2.4.0 "hängengeblieben" bin...
Habe den 2.4.3-pre8 probiert. Funktioniert fast praechtig, wenn man APIC nicht benutzt. Einziger Fehler war das CDDA(digtales Lesen einer Audio-CD) nicht ging. Sollte jetzt aber behoben sein.
SuSE User können sich auf dem FTP-Server von SuSE unter 7.1_Updates/kernel (so ähnlich), eine RPM mit dem Kernel 2.4.2 ziehen! Danach aber unbedingt lilo ausführen, sonst hatt man ein Problem
"Mein" Fehler ist in diesem Kernel auch noch drin: eine unaufgelöste Referenze in der fpu. Wenn man allerdings MTRR und Math-Emu hinzunimmt lässt sich der Kernel kompilieren. Leider kann ich nicht von der Root-Partition booten - das ReiserFS auf dieser scheint sich nicht mit der neuen Version zu vertragen. Irgendwann ist also Datenschaufeln angesagt :-((
Das Problem ist bekannt Arni, darüber wurden auch auf den Kernel-Listen ausgiebig diskutiert.
Compiliere den Kernel mal mit gcc 2.91.66 (egcs 1.1.2). gcc 2.95.2[.1] funktioniert nicht nur bei mir seit 2.4.1 nicht mehr. Das Problem ist wohl (soweit ich das verstanden habe), dass der gcc 2.91.66 / egcs 1.1.2 einige Sachen "herausoptimiert", was andere gcc-Versionen (insbesondere 2.95.2[.1]) nicht machen. Das führt dann schliesslich zu den "undefined references".
Anscheinend gibt es an den entsprechenden Stellen auch keine alternative Lösung, sonst hätte man das sicherlich schon geändert.
Was man den Kernel-Leuten aber lassen muss: In der Documentation/Changes steht klar und deutlich, dass gcc 2.91.66 (egcs 1.1.2) empfohlen wird, und alle anderen Versionen zu Problemen führen *können* (wohlgemerkt nicht müssen).
@Sebastian Ude Das mit den empfohlenen gcc habe ich auch gelesen. Allerdings bin ich nicht gewillt 3 verschiedene Compiler-Versionen zu nutzen ;-) Komischerweise sind die Fehler weg, wenn man MTRR und Math-Support mit in den Kernel nimmt. Normalerweise dürfte beim deaktivieren von math-support auch kein module fpu (oder so ähnlich) in Erscheinung treten. Das ganze sieht eher wie ein falsches Makefile/Depfile aus. Naja, mit etwas Bastelei bekommt man es meistends halt doch zum laufen
Habe 2.4.1 auf SuSE 7.0 problemlos compilieren können. 2.4.2 streikte jedoch mit einem Parserfehler, auch waren die Dateien nicht vollständig, vielleicht lag es auch daran - habe einfach die fehlenden vom 2.4.1 rüberkopiert, dann ging er erst überhaupt zum compilieren, brach dann aber eben ab.
Wie es unter 7.1 geht, will ich erst noch probieren. Ich hoffe, es klappt diesmal wieder
Ihr erinnert mich alle ein wenig an den Nachbarn, der immer tagelang an seinem Motorrad rumschraubt, um danach ein bis zwei Stunden herumzufahren, dann immer noch unzufrieden ist und wieder tagelang schraubt ;-). Ich bin mit dem 2.2.16 immer noch gluecklich und werde mein stabiles System doch nicht aufs Spiel setzen.
Wir reden doch über das "__buggy_fxsr_alignment"-Problem in der check_fpu-Routine ... oder diskutieren wir jetzt aneinander vorbei ?
Ich weis aber nicht, wo das Problem sein soll, mehrere verschiedene Compilerversionen installiert zu haben. Auf meinem LFS-System habe ich den pgcc und parallel eben den egcs 1.1.2, die RedHat beispielsweise liefert doch den gcc 2.91.66 / egcs 1.1.2 auch als "kgcc" mit (wenn ich mich richtig erinnere).
Auf jeden Fall liegt das Problem über das ich rede (ich hoffe wir meinen das selbe) in include/asm-i386/bugs.h. Wenn es wirklich ein Fehler in einer Makefile sein sollte, dann wäre es in den inzwischen 2 offiziellen Kernel-Versionen und mindestens 10pre-Versionen sowie 40ac-Patches ausgemerzt wurden. Und außerdem wäre es dann unlogisch, dass das Problem durch das Compilieren mit egcs 1.1.2 verschwindet.
Ich wünschte, ich hätte die Threads von der Kernel-Liste noch hier. Jedenfalls wurde da das gesagt was ich oben schon gepostet hatte.
Mach dir doch einfach die Mühe und installiere den egcs 1.1.2, dann ersparst du dir auch für die Zukunft viel ärger ...
@Sebastian Wir reden schon vom gleichen. Ich habe es ja nun durch etwas probieren auch ohne anderen Compiler hinbekommen. Ich habe keine Lust mir mein LFS-System mit verschiedenen Compilern vollzumöhlen. Ich habe auch den pgcc und der kompiliert alles ohne Probleme und bis jetzt hat er noch jeden Kernel geschafft ;-)
Trotzdem danke für den Hinweis, das es sich wirklich um einen Kernel-Bug handelt.
Also von wegen Meisterstueck, wie ich weiter untern gelesen hab eher nicht, denn dieser Kernel laesst sich nicht auf der Alpha uebersetzen weil vergessen wurde die neue asm-alpha nicht mit der neuen mm.h abzugleichen. tja 2.4.4 wird sicher wieder gehen.
Gott o Gott. Neue Kernelversion, was? Sieh sich einer dieses Gequatsche an. Das ist doch genau der Grund, warum sich so viele Benutzer noch immer vor Linux fürchten ...
Debconf aber hat mir beim Update einen Hinweis gegeben, der mir geholfen hat:
Das Parameterformat vom Linker (ld) hatte sich geändert, so daß (bei mir) anstelle von -oformat nun --oformat in den Makefiles stehen muß.
Nachdem ich das überall in
arch/i386/boot/Makefile
geändert hatte (4 Stellen) funktionierte das Kompilieren wieder einwandfrei.
Vielleich hilft es Euch ja weiter, so es bei Euch kein anderes Problem ist...
Echt, so ein Update gibt es? Werd ich mir gleich mal ziehen.
Danke für den Hinweis
Wenn man allerdings MTRR und Math-Emu hinzunimmt lässt sich der Kernel kompilieren.
Leider kann ich nicht von der Root-Partition booten - das ReiserFS auf dieser scheint sich nicht mit der neuen Version zu vertragen. Irgendwann ist also Datenschaufeln angesagt :-((
Compiliere den Kernel mal mit gcc 2.91.66 (egcs 1.1.2).
gcc 2.95.2[.1] funktioniert nicht nur bei mir seit 2.4.1 nicht mehr. Das Problem ist wohl (soweit ich das verstanden habe), dass der gcc 2.91.66 / egcs 1.1.2 einige Sachen "herausoptimiert", was andere gcc-Versionen (insbesondere 2.95.2[.1]) nicht machen. Das führt dann schliesslich zu den "undefined references".
Anscheinend gibt es an den entsprechenden Stellen auch keine alternative Lösung, sonst hätte man das sicherlich schon geändert.
Was man den Kernel-Leuten aber lassen muss: In der Documentation/Changes steht klar und deutlich, dass gcc 2.91.66 (egcs 1.1.2) empfohlen wird, und alle anderen Versionen zu Problemen führen *können* (wohlgemerkt nicht müssen).
Das mit den empfohlenen gcc habe ich auch gelesen. Allerdings bin ich nicht gewillt 3 verschiedene Compiler-Versionen zu nutzen ;-)
Komischerweise sind die Fehler weg, wenn man MTRR und Math-Support mit in den Kernel nimmt. Normalerweise dürfte beim deaktivieren von math-support auch kein module fpu (oder so ähnlich) in Erscheinung treten. Das ganze sieht eher wie ein falsches Makefile/Depfile aus.
Naja, mit etwas Bastelei bekommt man es meistends halt doch zum laufen
Wie es unter 7.1 geht, will ich erst noch probieren. Ich hoffe, es klappt diesmal wieder
Ich bin mit dem 2.2.16 immer noch gluecklich und werde mein stabiles System doch nicht aufs Spiel setzen.
Wir reden doch über das "__buggy_fxsr_alignment"-Problem in der check_fpu-Routine ... oder diskutieren wir jetzt aneinander vorbei ?
Ich weis aber nicht, wo das Problem sein soll, mehrere verschiedene Compilerversionen installiert zu haben.
Auf meinem LFS-System habe ich den pgcc und parallel eben den egcs 1.1.2, die RedHat beispielsweise liefert doch den gcc 2.91.66 / egcs 1.1.2 auch als "kgcc" mit (wenn ich mich richtig erinnere).
Auf jeden Fall liegt das Problem über das ich rede (ich hoffe wir meinen das selbe) in include/asm-i386/bugs.h.
Wenn es wirklich ein Fehler in einer Makefile sein sollte, dann wäre es in den inzwischen 2 offiziellen Kernel-Versionen und mindestens 10pre-Versionen sowie 40ac-Patches ausgemerzt wurden. Und außerdem wäre es dann unlogisch, dass das Problem durch das Compilieren mit egcs 1.1.2 verschwindet.
Ich wünschte, ich hätte die Threads von der Kernel-Liste noch hier. Jedenfalls wurde da das gesagt was ich oben schon gepostet hatte.
Mach dir doch einfach die Mühe und installiere den egcs 1.1.2, dann ersparst du dir auch für die Zukunft viel ärger ...
Wir reden schon vom gleichen. Ich habe es ja nun durch etwas probieren auch ohne anderen Compiler hinbekommen. Ich habe keine Lust mir mein LFS-System mit verschiedenen Compilern vollzumöhlen. Ich habe auch den pgcc und der kompiliert alles ohne Probleme und bis jetzt hat er noch jeden Kernel geschafft ;-)
Trotzdem danke für den Hinweis, das es sich wirklich um einen Kernel-Bug handelt.
Kernel laesst sich nicht auf der Alpha uebersetzen weil vergessen wurde die neue asm-alpha nicht mit der neuen mm.h abzugleichen. tja 2.4.4 wird sicher wieder gehen.
Gruß aus Berlin