PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : wieso - weshalb - warum?


sev
15.10.02, 20:07
Hi,

ich bin jetzt umgestiegen auf SuSE 8.1 und wollte hier zur Aktivierung von DMA (für mein DVD-Laufwerk) den Kernel neu kompilieren. Unter 8.0 ging das folgendermaßen immer glatt über die Bühne:

-entsprechende Sourcen installiert, incl. gcc und make
-in /usr/src/linux erstmal make cloneconfig ausgeführt
-mittels make xconfig die gewünschten Einstellungen gemacht
-zu guter letzt noch make dep und make bzImage ausgeführt und das Ganze dann in lilo
eingebunden

Okay, dass funktionierte immer wunderbar. Unter 8.1 kommt es aber (wenn ich make bzImage ausführe) zu folgender Fehlermeldung (der Prozess läuft erstmal einmal eine ganze Weile und ich sehe verschiedene Meldungen über die Konsole huschen - keine Fehlermeldungen, sondern es scheint alles im grünen Bereich zu sein):

ake[1]: Zirkuläre Datei /usr/src/linux-2.4.19.SuSE/include/asm/processor.h <- /usr/src/linux-2.4.19.SuSE/include/linux/list.h Abhängigkeit wird nicht verwendet.
gcc -D__KERNEL__ -I/usr/src/linux-2.4.19.SuSE/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=athlon -DKBUILD_BASENAME=process -c -o process.o process.c
process.c: In function `dump_thread':
process.c:683: internal error: Speicherzugriffsfehler
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
make[1]: *** [process.o] Fehler 1
make[1]: Verlassen des Verzeichnisses »/usr/src/linux-2.4.19.SuSE/arch/i386/kernel«
make: *** [_dir_arch/i386/kernel] Fehler 2

Sch...!!! Okay, Speicherzugriffsfehler. Nur was bedeutet das jetzt. Also bez. Arbeitsspeicher ist glaube ich eigentlich alles im Lot. Zumindest bekomme ich im "normalen" Betrieb keine Fehlermeldungen oder ähnliches und unter 8.0 war ja die Welt auch noch in Ordnung!!!

Kann mir einer weiterhelfen?

Gruß Sev

dauni
15.10.02, 20:21
Welcehn gcc hast denn installiert?

sev
15.10.02, 20:31
Hallo,

ich habe die Version(en) installiert die bei der 8.1 dabei sind installiert, also die 3.2 (einmal gcc und dann, da die Fehlermeldung auftrat noch eine weitere (andere?) Version, die als gcc-cc+ bezeichnet wird.

Der "Erfolg" war aber in beiden Fällen gleich.

Gruß Sev

Berthold
16.10.02, 11:44
1) Ist zwar heutzutage beknackt das zu fragen, aber - wie viel Speicher hast du denn?
2) Empfehlung - versuch mal, die Fehlermeldung zu googeln.
Ich hab auf die Art immer Postings dazu gefunden. Sind allerdings manchmal ein wenig schwer zu verstehn.
Also bspw.
In function dump_thread internal error Speicherzugriffsfehler
Bzw. besser Englisch segmentation fault.
Mal so in google suchen.
3) zu gcc 3xx - ich hab gesehen, dass davon abgeraten wird, damit den kernel zu kompilieren. Ich mein sogar, da wär was auf www.kernel.org
Aber ich hab so nen Compile mit gcc 3.2 erst vor 1 Woche gemacht, lief problemlos durch.

Gruß
Berthold

sev
16.10.02, 17:48
Hi,

also Speicher besitze ich 512 MB (keine Ahnung ob Marken-RAM oder nicht), zumindest hatte ich noch nie Probleme damit.

Gegoogelt habe ich natürlich schon und auch verschiedenes gefunden, etwas brauchbares war aber im Prinzip nicht dabei. Die Fehlermeldung deutet zwar auf ein Speicherproblem hin, nur wieso tritt es jetzt auf einmal auf (bzw. nur in diesem speziellen Fall, ärgerlich ist das schon).

Zumindest bin noch nicht viel schlauer als vorher, hast du (oder sonst noch jemand) eine andere Idee?

Das Problem mit der fehlenden DMA-Unterstützung habe ich mittlerweile anders gelöst, dennoch wäre ich recht glücklich wenn ich meinen Kernel kompilieren könnte (kann man ja immer mal brauchen!)

Gruß Sev

Berthold
16.10.02, 19:06
512 MB sollten wirklich reichen, er hat das bei mir auch mit 256 gemacht.
Die erforderliche Software sollte bei dir ja an sich in brauchbar neuen Versionen da sein.
Mir fällt dazu leider nix ein, außer, welcher Kernel ist das denn eigentlich?

B.

spirou
16.10.02, 19:19
Das Problem hatte ich auch mal, bei mir hat da ein "make mrproper" geholfen.

Grüßle
Spirou :D

sev
16.10.02, 19:32
Blöde Frage: Wann führe ich das Kommando aus? Direkt nach make dep, oder vorher?

Gruß Sev

Berthold
16.10.02, 20:10
Schau mal in das howto hier im Forum rein, da seht das alles drin.
make clean && make prproper vor dem Compile.
Es sei denn, nehm ich an, du hast dir den Kernel frisch gezogen, so hab ich das gemacht, da seh ich nicht, warum das nötig sein sollte.
Nochmal - welcher Kernel ist das denn?

B.

spirou
16.10.02, 20:20
Hab mich auch gewundert, aber jedenfalls ging's danach :)

Grüßle
Spirou :D

sev
16.10.02, 21:26
Hallo,

also noch einmal zum Vorgehen (für Anfänger wie mich):

Ich verwende den SuSE-eigenen Kernel (2.4.19) den ich zuvor mit make cloneconfig "klone".
Anschließend arbeite ich mich nach dem oben schon erwähnten Muster durch (make xconfig -> Einstellungen vornehmen -> make dep -> mage bzImage -> Lilo ändern).

Da ich keinen neuen Kernel verwende, sondern nur den bereits bestehenden verändere, erspare ich mir auch make modules && make modules_install (bisher hatte ich da immer das Problem, dass das Alsa-Modul nicht mehr funktionierte und ich dadurch weder Sound noch eine Lösung dafür hatte).

Für mich als greenhorn war das eine sehr einfache Art und Weise ein paar Verbesserungen am Kernel vorzunehmen.

Okay, also noch 'mal (um sicher zu gehen): An welcher Stelle verwende ich make prproper?

Gruß Sev

Berthold
17.10.02, 06:21
Schau mal nach unter
http://www.linuxforen.de/forums/showthread.php?s=&threadid=20583&highlight=kernel
Da steht das alles drin.

make clean && make prproper vor dem Compile, um irgendwelchen alten Kram, wenn vorhanden, zu löschen.

Ich würd mich ja auch in die Sache verbeißen.
Es dann allerdings mit nem frischen Kernel versuchen. Du kannst nämlich die Konfiguration des alten Kernels übernehmen.
(Machst du das mit diesem Make cloneconfig? Ich kenn das nicht.)

Wenn du es nach nach dem Tutorial versuchen solltest - wichtig
nach Beenden des Compile musst du noch eine neue /boot/initrd erzeugen.
(Das steht im Tutorial nicht drin.)

Zu deinem SuSE Kernel kann ich gar nix sagen, weil ich nicht weiß, was SuSE oder andere Distributoren am Kernel so rumändern.

Gruß
Berthold

sev
17.10.02, 07:42
Ich hab' zwar keine Ahnung wieso es gestern abend funktionierte, aber plötzlich lief dass alles durch und die bzImage wurde erstellt (obwohl ich kein make clean && make prproper verwendete). Ich dachte ich probiere es mal als normaler User der mit su zu root geswitcht wurde.

Seltsam ist es aber allemal und höchstwahrscheinlich auch nicht reproduzierbar (bin jetzt aber vorerst zu faul und zu zufrieden um noch einmal am Kernel 'rum zu murksen). Es funktioniert einfach alles wunderbar. Falls ich jedoch wieder in die Verlegenheit kommen sollte, probiere ich es gleich mit der Anleitung von hier (und hoffe dass das Problem erst gar nicht wieder auftritt).

Okay, dickes Dankeschön euch allen

Gruß,Sev

P.S: make cloneconfig dient tatsächlich zur Übernahme des alten Kernels den ich dann modifiziere (habe ich (glaube ich zumindest) mal im Kofler gelesen.

Berthold
17.10.02, 11:45
Schiebs einfach auf SuSE ...