PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Nach X Versuchen: brauche professionelle Hilfe beim Kernelbau



soul710
24.08.03, 14:08
So, nun hab ich bestimmt schon eine dreistellige Anzahl an Versuchen hinter mir, bei denen ich versucht hab einen Kernel selbst zu bauen. Nach einer zweistelligen Anzahl von Versuchen gelang es mir, den 2.6.0-test3 für Redhat 9 zum laufen zu kriegen. Der war aber langsam, und irgendwann kam Kernel Panic und er lief nicht mehr. Danach hab ich verschiedene Versuche unternommen, einen 2.4.21 Kernel zu kompilieren. Die Ergebnisse variieren zwischen Kernel Panik, ein Bildschirm voll bunter Streifen, oder einem schwarzen Bildschirm auf dem sich nichts tut.

Nun hab ich gestern Gentoo 1.4 installiert, von Stage 1 mit LiveCD. Ging so weit alles gut, um Probleme zu vermeiden hab ich den Kernel mit genkernel konfigurieren lassen. Das Ende vom Lied war "Kernel Panic: attempted to kill init".

Super. Ich wieder von CD gebootet, mit menuconfig selbst gebaut nach bestem Wissen. Ergebnis: wieder Kernel Panic.
Also hab ich mit wget die 2.4.21 Source gezogen, und nen Kernel gebaut. Das erste mal komplett selbst die Module eingestellt, das lief auf nen schwarzen Screen raus ---> System steht. Das zweite mal hab ich die Voreinstellungen aus der Source benutzt, und nur zusätzliche Dinge wie Drucker, USB, Audio & Multimedia hinzugefügt. Ergebnis ist das gleiche, es kommt kurz "Loading kernel-2.4.21........" danach ist der Bildschirm schwarz, und nichts tut sich.
Das gleiche Problem hatte ich übrigens schon mehrmals unter Red Hat 9.

Fazit: Nach einer unendlich scheinenden Anzahl von Versuchen ist es mir nicht einmal gelungen, einen bootfähigen Kernel zu kompilieren. Dabei hab ich nicht mal exotische Hardware. 1700+, Epox 8K3A (KT333) und Leadtek GF4, 768MB Infineon. Dazu 2x Western Digital 80GB und ne Creative SBlive 5.1 + Intel 10/100 Ethernet.

Ich bin echt am verzweifeln, ich hab jetzt ein Gentoo ohne laufenden Kernel, und kriegs nich gebacken einen Kernel zu bauen der bootet. Das hab ich nichtmal unter Red Hat hinbekommen, sei es 2.6, 2.4.20-8 oder 2.4.21. Ich spiel mittlerweile echt mit dem Gedanken wieder Windows zu installieren, weil ich keine Lust mehr hab, stundenlang Kernels zu bauen die mir eh nur einen Blackscreen produzieren.

Kann mir jemand die wichtigsten Module sagen, die ich in den Kernel packen muss damit er zumindest endlich mal BOOTET ? Ich würd ja die config hochladen aber an die komm ich nicht ran.

Thomas Mitzkat
24.08.03, 16:05
Fazit: Nach einer unendlich scheinenden Anzahl von Versuchen ist es mir nicht einmal gelungen, einen bootfähigen Kernel zu kompilieren.
da machst du wohl was verkehrt ;) ich kann zwar nicht nachvollziehen, warum du dir einen kernel backen willst, wenn du keine erfahrung damit hast, aber ich will probieren dir dabei zu helfen einen kernel zum laufen zu bringen. da wahrscheinlich dein kernel ein videomode als kernelparameter bekommt, sollte framebuffer und damit zusammenhängende dinge mit in den kernel gebracht werden, damit man wenigstens sehen kann, was den nächsten kernelpanik auslöst :)


Ich spiel mittlerweile echt mit dem Gedanken wieder Windows zu installieren, weil ich keine Lust mehr hab, stundenlang Kernels zu bauen die mir eh nur einen Blackscreen produzieren.
aber wahrscheinlich auch nur, weil du dort nicht am kernel spielen kannst. übrigends liefert reed hat einen funktionsfähigen kernel bei der installation mit.

soul710
24.08.03, 16:22
Original geschrieben von Thomas Mitzkat
da machst du wohl was verkehrt ;)

Wohl wahr, wohl wahr.



Original geschrieben von Thomas Mitzkat
ich kann zwar nicht nachvollziehen, warum du dir einen kernel backen willst, wenn du keine erfahrung damit hast

Simple answer: Der Gentoo 1.4 Kernel bringt mir ausser Kernel Panic gar nichts.

Ausserdem glaube ich mittlerweile einiges an Erfahrung in Sachen Kernelbau zu haben. Auch wenn die Kernels bei mir nicht booten, weiss ich a) wie man einen Kernel kompiliert b) was dazu benötigt wird c) ich kenn die Module in xconfig mittlerweile auswendig.


Original geschrieben von Thomas Mitzkat
da wahrscheinlich dein kernel ein videomode als kernelparameter bekommt, sollte framebuffer und damit zusammenhängende dinge mit in den kernel gebracht werden, damit man wenigstens sehen kann, was den nächsten kernelpanik auslöst :)

Damit zusammenhängen zusammenhängende Dinge sind ? Framebuffer hab ich afaik immer drin, es sei denn die Standard 2.4.21 Config hat das nicht .... prüf ich nachher.


Original geschrieben von Thomas Mitzkat
aber wahrscheinlich auch nur, weil du dort nicht am kernel spielen kannst.

Nein, weil ich ehrlich gesagt keinen Nerv mehr dafür hab, stundenlang Kernels zu kompilieren die am Ende eh nicht laufen. Sprich: ich hab die Nase voll :(


Original geschrieben von Thomas Mitzkat
übrigends liefert reed hat einen funktionsfähigen kernel bei der installation mit.

Richtig. Ich hatte Red Hat 9 drauf, und wollte Gentoo ausprobieren, weil ich das mehr anpassen kann als RH, ausserdem hatte ich bei Red Hat ein bisschen was vermurkst :rolleyes:

Die Gentoo Installation hat bis zum Booten mit eigenem Kernel einen Nachmittag gedauert. Irgendwie seh ichs nich ein das einfach wieder zu löschen, und Red Hat auf zuspielen. Desweiteren brauch ich bestimmte Kernelmodule, z.b. Video 4 Linux, Joysticks und noch ein paar andere.

Iluminat23
24.08.03, 16:31
gehe doch mal hin und baue einfach alles was du meinst was du brauchts in den kernel und verwende nur bei eindeutig unwichtigen sachen module
so hat es bei mir auch geklappt
is nicht elegant aber dann läuft es erstmal und dann einfach stück für stück so umbauen wie du ihn gere hättest und wenn dan ein kernel panic passier weißt du woran es liegt
is zwar recht anstrengent aber es hat bei mir gefunzt (naja bisher sieht der kernel noch aus wie kraut und rüben oder das wird noch :D)

Der Gestreifte
24.08.03, 20:49
Ausserdem glaube ich mittlerweile einiges an Erfahrung in Sachen Kernelbau zu haben.....c) ich kenn die Module in xconfig mittlerweile auswendig.
Dann schreib das doch alles einfach mal hier hin oder häng die .config an, damit ggf. jemand nach dem Fehler suchen kann.

soul710
24.08.03, 22:40
Original geschrieben von Der Gestreifte
Dann schreib das doch alles einfach mal hier hin oder häng die .config an, damit ggf. jemand nach dem Fehler suchen kann.

Ja das mach ich als nächstes. Ich muss nur noch rausfinden wie ich den konsolen ftp bediene, dann kann ich die config hochladen.....
Die lilo.conf poste ich dann auch.

So lang hier mal der genaue Fehler:

http://www.soul710.net/kernel.jpg

stefan-tiger
24.08.03, 23:01
ich hab bei mir mal mit "dmesg" nachgesehen.

also ich denke der fehler liegt irgendwo bei den USB sachen oder Netzwerk/IP sachen, die kommen bei mir direkt nach dem USB.

hast du schon nach temperatur, spannung, defekten RAMs usw. gesucht?
vielelicht ist es ja ein hardwarefehler.

gruß

soul710
24.08.03, 23:25
Original geschrieben von stefan-tiger
ich hab bei mir mal mit "dmesg" nachgesehen.

also ich denke der fehler liegt irgendwo bei den USB sachen oder Netzwerk/IP sachen, die kommen bei mir direkt nach dem USB.

hast du schon nach temperatur, spannung, defekten RAMs usw. gesucht?
vielelicht ist es ja ein hardwarefehler.

gruß


Temp + Spannung ist okay, und die RAMs sollten auch in Ordnung sein, sind relativ neue Infineons (512 + 256), und unter Windows hab ich keine Probleme :confused:



Bei USB hab ich recht wenig drin, Mass Storage und ein paar Webcam/Printer/Digicam Module, aber beim nächsten versuch schmeiss ich das mal komplett raus.
In Sachen Netzwerk hab ich jede Menge drin (im Kernel), IPX, iptables, Router sachen, PPP usw.

Iluminat23
25.08.03, 01:02
In Sachen Netzwerk hab ich jede Menge drin (im Kernel), IPX, iptables, Router sachen, PPP usw.
wozu brauchst du IPX???? ---> ist doch nur für apple. oder?

Nuno
25.08.03, 09:29
naja ... eigentlich ist ipx für novell ;-) ( allerdings nur die alten versionen )
bei uns laufen die ganzen netware server nur noch mit tcp/ip

mr.krass
25.08.03, 09:30
IPX ist nicht nur für Apple. Aber etwas veraltet ist es schon, TCP/IP ist da moderner.
Schmeiß mal die Protokolle raus, die du nicht brauchst! Versuch einfach mal nen schlanken Kernel zu bauen.

mfG

stefan-tiger
25.08.03, 09:33
hast du irgendwelche (experimentellen?) advanced routing optionen drin?

ausserdem: welchen kernel meinst du denn jetzt genau? (2.6, 2.4.20-8 oder 2.4.21)

gruß

PhilippB
25.08.03, 09:54
wenn du ipx usw. als Modul baust ist das egal ob du den drin hast oder nicht, denn module werden erst später geladen.

Geh doch mal hin, und konfiguiere die einen schlanken Kernel:
- kein USB
- kein Sound direkt in den Kernel
- kein Framebuffer (auch keine Option bei lilo oder grub mitgeben)
- kein SCSI-Emulation (auch keine Option bei lilo oder grub mitgeben)
- kein Raid-Controler oder so (es sei denn er wird benötigt weil dort die Linuxplatte dran hängt)
- keine sonstigen Sachen die man nicht zwingend braucht

Sollte nicht all zu schwer sein, da man ein bischen zu filtern. Ich denke mal, dass du irgendwo nur einen kleinen Fehler drin hast. Wenn du sachen als Modul kompilierst, sollte das kein Problem sein, denn Module werden erst später geladen.


Eigentlich ist die Kernelbackerei relativ einfach. Ich hatte fast noch nie probleme mit einem fertig Kernel, höchstens beim Kompilieren oder beim Kernel mit Framebuffer.

soul710
25.08.03, 10:06
Original geschrieben von stefan-tiger
hast du irgendwelche (experimentellen?) advanced routing optionen drin?

ausserdem: welchen kernel meinst du denn jetzt genau? (2.6, 2.4.20-8 oder 2.4.21)

gruß

Ja das könnte sein. Was genau brauch ich, damit ich für meinen Rechner iptables + Masquerading nutzen kann ? Z.B. hatte ich mir ein Firewall Script generieren lassen, wo er dann irgendwelche Module nicht gefunden hat.... daher war ich diesmal eher grosszügig in Sachen routing & iptables :rolleyes:

IPX brauchte ich nur für einige Spiele, aber ich kanns auch über Board werfen.




Original geschrieben von PhilippB
wenn du ipx usw. als Modul baust ist das egal ob du den drin hast oder nicht, denn module werden erst später geladen.

Geh doch mal hin, und konfiguiere die einen schlanken Kernel:
- kein USB
- kein Sound direkt in den Kernel
- kein Framebuffer (auch keine Option bei lilo oder grub mitgeben)
- kein SCSI-Emulation (auch keine Option bei lilo oder grub mitgeben)
- kein Raid-Controler oder so (es sei denn er wird benötigt weil dort die Linuxplatte dran hängt)
- keine sonstigen Sachen die man nicht zwingend braucht

Sollte nicht all zu schwer sein, da man ein bischen zu filtern. Ich denke mal, dass du irgendwo nur einen kleinen Fehler drin hast. Wenn du sachen als Modul kompilierst, sollte das kein Problem sein, denn Module werden erst später geladen.


Eigentlich ist die Kernelbackerei relativ einfach. Ich hatte fast noch nie probleme mit einem fertig Kernel, höchstens beim Kompilieren oder beim Kernel mit Framebuffer.

Okay das werd ich mal machen. Nur ist halt das Problem, dass ich USB für die Digicam, SCSI für den Brenner brauche. Afaik soll man Framebuffer immer drin haben, kann mich auch irren :confused:
Ich werds mal so machen wie du sagst, das wichtigste ist, dass der Kernel läuft.

Korn
25.08.03, 12:11
Hi @ all,


*auch mal einmisch*

Also für mich sieht das ganze eher nach einem Kompilierungsfehler aus. Entweder ist es ein Fehler im gcc, was bei einem gcc3.3x nicht ganz ausgeschlossen werden kann, oder der Fehler ist bei den Compiler-Flags zu suchen. Eine weitere Möglichkeit wäre natürlich ein Fehler/Bug im Kernel/Modul. Welchen Kernel verwendest Du eigentlich?

Probiere mal einen etwas älteren gcc (z. B. gcc2.95) bzw. versuche es mit weniger agressiven Optimierungen (FLAGS). Übrigens ist der gcc2.95 immer noch der empfohlene Kompiler für das Kernel bauen, auch für den 2.6er Kernel.


Gruß Korn

soul710
25.08.03, 14:47
Okay, ich habs nun tatsächlich geschafft, einen Kernel zu bauen der bootet.
- kein USB/SCSI/IPX/Framebuffer/sonstige Überflüssigkeiten

Zwar kann ich X nicht starten, weil er ne Reihe von Modulen nicht laden kann, aber das ist wohl dann ein Gentoo Problem.

Ich meld mich wieder wenn mein zweiter, verbesserter Kernel Probleme macht.... aber erst mal schauen das Gentoo überhaupt läuft.

Ach ja, ich hab den 2.4.21 Kernel verwendet.

soul710
30.08.03, 15:24
So, hab hab Gentoo neu installieren müssen, da aus irgendeinen Grund kein Internet mehr ging, und ein paar andere Sachen schief liefen. Ausserdem hatte ich imho die Installation etwas verbockt. Jedenfalls, Gentoo neu drauf, nach Anleitung ab Stage 1. Lief alles gut. Hab dann die 2.4.21 Source geladen und nen eigenen Kernel gebaut. Alles nach bestem Wissen, keine überflüssigen Sachen. USB Mass Storage für die Digicam, SCSI Support für den Brenner und Framebuffer support.

Ergebnis: Kernel Panic - attempted to kill init!

Super. Kann mir jemand sagen wieso das so ist ? Ich hab nichts unverträgliches drin, keine Experimentellen Features (ausser /dev Filesystem).

Ich werd beim nächsten Versuch mal den Framebuffer rauslassen, vielleicht bringts das.

stefan-tiger
30.08.03, 15:39
Original geschrieben von soul710
So, hab hab Gentoo neu installieren müssen, da aus irgendeinen Grund kein Internet mehr ging, und ein paar andere Sachen schief liefen. Ausserdem hatte ich imho die Installation etwas verbockt. Jedenfalls, Gentoo neu drauf, nach Anleitung ab Stage 1. Lief alles gut. Hab dann die 2.4.21 Source geladen und nen eigenen Kernel gebaut. Alles nach bestem Wissen, keine überflüssigen Sachen. USB Mass Storage für die Digicam, SCSI Support für den Brenner und Framebuffer support.

Ergebnis: Kernel Panic - attempted to kill init!

Super. Kann mir jemand sagen wieso das so ist ? Ich hab nichts unverträgliches drin, keine Experimentellen Features (ausser /dev Filesystem).

Ich werd beim nächsten Versuch mal den Framebuffer rauslassen, vielleicht bringts das.

framebuffer kannst du eh draussen lassen wenn du später überwiegend unter X unterwegs bist.

jedenfalls KÖNNTE es auch sein dass deine CPU oder dein RAM defekt ist. unter normalen bedingungen merkt man es vielleicht nicht, aber wenn beim kompilieren irgendwas angesprochen wird was nen fehler produziert, kann es gut sein dass der kernel fehlerhaft kompiliert wird.

ich würde mal nen RAM-test machen. bei ct gibts ein programm, das den speicher voll testeten kann, da es sich selbst in den videospeicher kopiert.

wie man testet ob die CPU richtig arbeitet, also keine fehler produziert, auch in besonderen "bereichen", weis sich leider nicht.

versuch doch mal den kernel auf nem anderen pc zu kompilieren und dann kompierst du die module und den kernel auf den pc bei dem immer die probleme kommen.

gruß

soul710
30.08.03, 15:57
Original geschrieben von stefan-tiger
framebuffer kannst du eh draussen lassen wenn du später überwiegend unter X unterwegs bist.

jedenfalls KÖNNTE es auch sein dass deine CPU oder dein RAM defekt ist. unter normalen bedingungen merkt man es vielleicht nicht, aber wenn beim kompilieren irgendwas angesprochen wird was nen fehler produziert, kann es gut sein dass der kernel fehlerhaft kompiliert wird.

ich würde mal nen RAM-test machen. bei ct gibts ein programm, das den speicher voll testeten kann, da es sich selbst in den videospeicher kopiert.

wie man testet ob die CPU richtig arbeitet, also keine fehler produziert, auch in besonderen "bereichen", weis sich leider nicht.

versuch doch mal den kernel auf nem anderen pc zu kompilieren und dann kompierst du die module und den kernel auf den pc bei dem immer die probleme kommen.

gruß


Ja das wär ne Idee. CPU teste ich mal mit Prime95. Wie ist der Name des RAM Test Programms ? Würd mich sehr ankotzen wenn was im Arsch ist, die Komponenten sind recht neu.
Der RAM läuft auf 333, ist auch orginal Infineon. Die CPU ist von 1,433 auf 2,075 MHz übertaktet, aber 1A gekühlt, und auch sonst stabil. Hab bei keiner Anwendung (sei es aufwendig 3D Sachen rendern, oder 3D Spiele) irgendwelche Probleme (unter Windows). Das System läuft 100% stabil.


Okay hab das Testprogramm, werds mal laufen lassen.

PhilippB
30.08.03, 16:24
es gibt doch so einen Memory-Test kernel/System. Ich hab das glaubich in Boot-Menu von Knopix gesehen.

Der Gestreifte
30.08.03, 16:39
Wie ist der Name des RAM Test Programms ? memtest86

stefan-tiger
30.08.03, 17:12
hier:

http://www.heise.de/ct/ftp/ctsi.shtml

findest du das ct ramtest programm.

leider braucht man dos um es zu starten.

das geniale: es verschiebt sich in den videospeicher und läuft von dort aus.

das heisst der komplette arbeitsspeicher kann gestetet werden, es ist wirklich keine speicheradresse ausgeschlossen, weil kein betriebssystem mehr im speicher bleibt.

gruß