Re: kernel-source-neu für 8.1 fehler beim kompilieren
Am Freitag, 4. April 2003 18:49 schrieb Thomas Hertweck:
Ich weiss nicht genau, wie Du die alte Konfiguration ueber- nommen hast
rpm -U kernel-source... ;-) Tut aber nichts zur sache, weil ich nach den ersten Problemen das gesamte source paket deinstalliert habe (samt config) und neu installiert habe.
Obiger Befehl scheint das Linken des neuen Kernels zu sein.
Habe ich auch vermutet...
mit SMP zu tun zu haben. Hast Du ein SMP-System? Wenn nicht, nimm mal alles, was damit zu tun hat, aus der Kernel-Konfi- guration raus und versuche es nochmal.
Kein SMP-System. Habe schon in "Processor type and features" den Punkt "Symmetric multi-processind support" AUS. Ich weis also nicht, was der Linker eigentlich will.
PS: Ein "make mrproper" und anschliessendes neu konfigu- rieren wie oben angegeben ist vermutlich keine schlech- te Idee. Aber Vorsicht: "make mrproper" loescht auch die aktuelle .config aus dem Kernel-Baum.
(nach de- und installieren sollte mein system eigentlich so mrptoper wie möglich sein. Hatte das aber auch schon versucht, bringts nicht.) Das Problem bleibt immer noch. Und mit den alten Kernel-sourcen hat's funktioniert. Also doch ein Fehler im sourcen-Paket selbst? ciao, Mario
Mario Loritz wrote:
[...] Kein SMP-System. Habe schon in "Processor type and features" den Punkt "Symmetric multi-processind support" AUS. Ich weis also nicht, was der Linker eigentlich will.
Hier nochmal Deine urspruengliche Fehlermeldung: ... make[1]: Wechsel in das Verzeichnis »/usr/src/linux-2.4.19.SuSE« ld -m elf_i386 -T /usr/src/linux-2.4.19.SuSE/arch/i386/vmlinux.lds -e stext arch/i386/kernel/he ...snip... -o vmlinux arch/i386/kernel/kernel.o: In function `smp_read_mpc': arch/i386/kernel/kernel.o(.text.init+0x63a9): undefined reference to `mp_register_lapic_address' make[1]: *** [kallsyms] Fehler 1 make[1]: Verlassen des Verzeichnisses »/usr/src/linux-2.4.19.SuSE« make: *** [vmlinux] Fehler 2 Also, die Funktion smp_read_mpc stammt aus mpparse.c, und die Referenz, die nicht gefunden werden kann, hat etwas mit acpi.c zu tun... Du solltest also in Deiner Kernel-Konfigu- ration mal ACPI einschalten. Da sich im Bereich ACPI in letzter Zeit einges getan hat, erklaert das vielleicht auch, warum der alte Kernel compilierte, der neue aber nicht. Hast Du die Konfiguration des alten Kernels wirklich per "make oldconfig" auf den neuen Kernel-Quellcode uebertragen? Der 2.4.19 von SuSE compiliert mit meiner hier gewaehlten Kon- figuration durch. Gruesse, Thomson -- Thomas Hertweck, Dipl.-Geophys., GPI Universitaet Karlsruhe === First they ignore you, then they laugh at you, then === === they fight you, then you win. (M. Ghandi) ===
Am Montag, 7. April 2003 20:33 schrieb Thomas Hertweck:
Also, die Funktion smp_read_mpc stammt aus mpparse.c, und die Referenz, die nicht gefunden werden kann, hat etwas mit acpi.c zu tun... Du solltest also in Deiner Kernel-Konfigu- ration mal ACPI einschalten. Da sich im Bereich ACPI in letzter Zeit einges getan hat, erklaert das vielleicht auch, warum der alte Kernel compilierte, der neue aber nicht. Hast Du die Konfiguration des alten Kernels wirklich per "make oldconfig" auf den neuen Kernel-Quellcode uebertragen? Der 2.4.19 von SuSE compiliert mit meiner hier gewaehlten Kon- figuration durch.
Ich habe wie schon angedeutet die Quellen eingespielt, dann "make menuconfig", nix geändert und neu abgespeichert. Danach läuft "make bzImage" nicht durch. Das Einschalten von ACPI brachte jetzt linderung, ich habe einen Kernel mir APM UND ACPI support (beides Module). (ACPI ohne "AC Adaptor" und ohne "Battery") Finde ich aber ziemlich Mist, da ich ein altes Board habe und in der Hilfe zum Kernel (alte sourcen) davor gewarnt wird ACPI bei altem BIOS einzusetzen. Ich halte das ganze immer noch für einen Fehler in den Config- Skripten, denn: -wieso kann ich nicht ohne ACPI kompilieren? -wieso verweist der linker auf SMP wenn ACPI fehlt? -wieso brauche ich ACPI überhaupt für SMP??? Trotzdem kann ich jetzt wenigstens zum Teil den Kernel nach meinen Wünschen Konfigurieren, vielen Dank dafür!! ciao, Mario
Hallo! Mario Loritz wrote:
[...] Ich habe wie schon angedeutet die Quellen eingespielt, dann "make menuconfig", nix geändert und neu abgespeichert. Danach läuft "make bzImage" nicht durch.
Du hast urspruenglich geschrieben, dass Du die alte Konfiguration uebernommen hast. Mit dieser Methode, wie Du sie hier beschreibst, ist das aber nicht der Fall. Wenn Du bereits einen SuSE- Kernel einsetzt, dann solltest Du statt "make menuconfig" ein "make cloneconfig" machen. Wenn Du bisher keinen SuSE-Kernel verwendest, dann kopiere die alte .config Datei in das Hauptver- zeichnis der neuen Kernel-Quellen und fuehre ein "make oldconfig" aus. Erst dann hast Du die Konfiguration des alten Kernels uebernommen, und dann sollte er auch compilieren. Von dieser Konfiguration ausgehend, kannst Du dann natuer- lich einfach ein paar Dinge aendern... Was passiert, wenn man einfach "make menuconfig" einmalig aufruft und ohne Einstellungen vorzu- nehmen die Konfig abspeichert, weiss ich nicht. Vielleicht kommt dabei halt dann nichts geschei- tes raus, wuerde mich jedenfalls nicht wundern.
Finde ich aber ziemlich Mist, da ich ein altes Board habe und in der Hilfe zum Kernel (alte sourcen) davor gewarnt wird ACPI bei altem BIOS einzusetzen.
Du kannst es doch einfach abschalten: Kernel- Parameter acpi=off.
Ich halte das ganze immer noch für einen Fehler in den Config- Skripten, denn: -wieso kann ich nicht ohne ACPI kompilieren? -wieso verweist der linker auf SMP wenn ACPI fehlt? -wieso brauche ich ACPI überhaupt für SMP???
Falsche Reihenfolge. Die Routine, die mit SMP zu tun hat, verweist auf ACPI, nicht umgekehrt. Evtl. hast Du halt in Deiner Konfiguration doch irgendwo etwas, was mit SMP zu tun hat, ange- waehlt. So wird z.B. APM bei SMP-Kernel auto- matisch abgeschaltet und local APIC sowie I/O APIC eingeschaltet. Ich denke, Du hattest da ein- fach keine korrekte Konfiguration vorliegen. Gruesse, Thomson -- Thomas Hertweck, Geophysicist Geophysical Institute, Karlsruhe University (TH)
Hallo Thomas, Thomas Hertweck wrote:
Hallo!
Mario Loritz wrote:
[...] Ich habe wie schon angedeutet die Quellen eingespielt, dann "make menuconfig", nix geändert und neu abgespeichert. Danach läuft "make bzImage" nicht durch.
Du hast urspruenglich geschrieben, dass Du die alte Konfiguration uebernommen hast. Mit dieser Methode, wie Du sie hier beschreibst, ist das aber nicht der Fall. Wenn Du bereits einen SuSE- Kernel einsetzt, dann solltest Du statt "make menuconfig" ein "make cloneconfig" machen. Wenn Du bisher keinen SuSE-Kernel verwendest, dann kopiere die alte .config Datei in das Hauptver- zeichnis der neuen Kernel-Quellen und fuehre ein "make oldconfig" aus. Erst dann hast Du die Konfiguration des alten Kernels uebernommen, und dann sollte er auch compilieren. Von dieser Konfiguration ausgehend, kannst Du dann natuer- lich einfach ein paar Dinge aendern...
Ich habe auch das Problem, dass 'make bzImage' mit einer Fehlermeldung abbricht. Bei mir ist es jedoch eine andere Referenz, die er anmeckert. Irgendwas mit 'pci_???'. Und ich hatte vorher 'make oldconfig' gemacht, da ich keinen SuSE-Kernel verwendete, jedoch auch einen 2.4.19. Da es mir damit jedoch noch nicht so dringend ist, habe ich nichts weiter unternommen. Gruss Werner
Werner Franke wrote:
Ich habe auch das Problem, dass 'make bzImage' mit einer Fehlermeldung abbricht. Bei mir ist es jedoch eine andere Referenz, die er anmeckert. Irgendwas mit 'pci_???'.
Die Abhaengigkeiten im Kernel-Baum sind recht komplex. Bei meinen Kernel-Compilierungen habe ich aber letztendlich immer alles hinbekommen, wenngleich nicht immer auf anhieb. Letztend- lich war es aber dann doch oft so, dass ich Dinge abgewaehlt hatte, die man besser nicht haette abwaehlen sollen ;-) Oder vice versa.
Und ich hatte vorher 'make oldconfig' gemacht, da ich keinen SuSE-Kernel verwendete, jedoch auch einen 2.4.19.
Vermutlich wurdest Du bei "make oldconfig" zu einigen Dingen befragt, die im Vanilla-Kernel nicht aber im SuSE-Kernel enthalten sind. Viel- leicht hast Du da etwas mit ja/nein beantwor- tet, was dann obiges Problem ausgeloest hat. Ich weiss es nicht, bin auch kein Kernel-Main- tainer, und ohne genau Meldung ueber fehlende Referenzen etc. wird Dir vermutlich auch nie- mand genaueres sagen koennen, was da schief lief. Die Konfiguration des Kernels entwickelt sich immer mehr zu einem sehr komplexen Thema, da natuerlich immer mehr Features hinzukommen, die dann wiederum voneinander abhaengen. Dass da mal was nicht 100% klappt, finde ich ehrlich gesagt nicht verwunderlich. Viele Gruesse, Thomson -- Thomas Hertweck, Geophysicist Geophysical Institute, Karlsruhe University (TH)
participants (3)
-
Mario Loritz
-
Thomas Hertweck
-
Werner Franke