Verständnisfrage zur Kernelkonfiguration
Freunde der Liste, habe den Kernel auf 2.4.20 nachgezogen um den Openwall Patch einspielen zu können und wollte einen Kernel backen der die gleichen Konfiguration hat wie der original SuSE Kernel. Kopiere also /boot/vmlinuz.config nach /usr/src/linux, mach ein "make menuconfig" um mich zu versichern dass der Prozessortyp stimmt und speichere die Konfiguration ab. Eigentlich habe ich angenommen dass die Konfiguration in /boot und in /usr/src/linux jetzt identisch ist, ein diff zeigt aber imense Abweichungen. Was soll das? Wird beim Abspeichern da irgendwas verändert? Wo steht das File das bei einem "make dep..." entscheidend ist? Gruss Michael PS: Danke Thomas, bin jetzt wieder "gegenwärtig"!
Michael Karges schrieb:
habe den Kernel auf 2.4.20 nachgezogen um den Openwall Patch einspielen zu können und wollte einen Kernel backen der die gleichen Konfiguration hat wie der original SuSE Kernel. Kopiere also /boot/vmlinuz.config nach /usr/src/linux, mach ein "make menuconfig" um mich zu versichern dass der Prozessortyp stimmt und speichere die Konfiguration ab.
Lasse das mit dem "make menuconfig" und mache stattdessen ein "make oldconfig". Dann hast Du die Konfig exakt geclont. Dabei darfst Du eigentlich nichts gefragt werden. Ist das der Fall, dann hast Du andere Kernel-Quellen als die Ori- ginale, die von SuSE voher fuer ihren Kernel verwendet wur- den, installiert. Anschliessend ein "make dep", dann passt das. Das "make menuconfig" aendert einige Sachen um. Das relevante File ist schon die .config, zusammen mit dem Makefile, in dem z.B. einige Variablen (Kernel-Versionsnummer und Extra- version wie -4GB etc.) definiert sind. 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 Mittwoch, 30. April 2003 21:56 schrieb Thomas Hertweck:
Michael Karges schrieb:
habe den Kernel auf 2.4.20 nachgezogen um den Openwall Patch einspielen zu können und wollte einen Kernel backen der die gleichen Konfiguration hat wie der original SuSE Kernel. Kopiere also /boot/vmlinuz.config nach /usr/src/linux, mach ein "make menuconfig" um mich zu versichern dass der Prozessortyp stimmt und speichere die Konfiguration ab.
Lasse das mit dem "make menuconfig" und mache stattdessen ein "make oldconfig". Dann hast Du die Konfig exakt geclont. Dabei darfst Du eigentlich nichts gefragt werden. Ist das der Fall, dann hast Du andere Kernel-Quellen als die Ori- ginale, die von SuSE voher fuer ihren Kernel verwendet wur- den, installiert. Anschliessend ein "make dep", dann passt das. Das "make menuconfig" aendert einige Sachen um. Das relevante File ist schon die .config, zusammen mit dem Makefile, in dem z.B. einige Variablen (Kernel-Versionsnummer und Extra- version wie -4GB etc.) definiert sind.
hhhm. Habe jetzt die Sache mit de mConfig-File gelöst, aber beim compilieren bricht make ab mit: mm/mm.o(.text+0x6c08): undefined reference to `rwsem_down_read_failed' mm/mm.o(.text+0x6c1d): undefined reference to `rwsem_wake' mm/mm.o(.text+0x6c29): undefined reference to `rwsem_down_write_failed' mm/mm.o(.text+0x6c3d): undefined reference to `rwsem_wake' mm/mm.o(.text+0x6c4a): undefined reference to `rwsem_down_read_failed' mm/mm.o(.text+0x6c5f): undefined reference to `rwsem_wake' das passiert bei allen Teilen des kernels die dieses Sourcefile verwenden. Ich habe von der SuSE den 2.4.19 (nicht den von SuSE!) installiert, das patch von www.kernel.org runtergeladen und eingespielt. Dann das .config File von SuSE in das aktuelle (2.4.20) kernelverzecihnis kopiert und "make dep clean bzImage". Noch Tipps? What's wrong?
Gruesse, Thomson
Gruss Michael
Michael Karges schrieb:
hhhm. Habe jetzt die Sache mit de mConfig-File gelöst, aber beim compilieren bricht make ab mit:
mm/mm.o(.text+0x6c08): undefined reference to `rwsem_down_read_failed' mm/mm.o(.text+0x6c1d): undefined reference to `rwsem_wake' mm/mm.o(.text+0x6c29): undefined reference to `rwsem_down_write_failed' mm/mm.o(.text+0x6c3d): undefined reference to `rwsem_wake' mm/mm.o(.text+0x6c4a): undefined reference to `rwsem_down_read_failed' mm/mm.o(.text+0x6c5f): undefined reference to `rwsem_wake'
das passiert bei allen Teilen des kernels die dieses Sourcefile verwenden. Ich habe von der SuSE den 2.4.19 (nicht den von SuSE!) installiert, das patch von www.kernel.org runtergeladen und eingespielt. Dann das .config File von SuSE in das aktuelle (2.4.20) kernelverzecihnis kopiert und "make dep clean bzImage".
Hast Du nach dem Kopieren von .config in das neue Verzeichnis und vor dem Ausfuehren von "make dep" ein "make oldconfig" ge- macht? Das hatte ich eigentlich schon erklaert - hier sieht es wieder so aus, als haettest Du es nicht gemacht. Hier scheint es sich um einen Konfigurationsfehler zu handeln. rwsem.c befindet sich in ./lib und sollte eigentlich mitcom- piliert werden und durch das Linken mit lib.a muessten dann die Referenzen rwsem_wake etc. aufgeloest werden koennen. Ueberpruefe mal Deine Konfiguration, da ist etwas wichtiges daneben gegangen. 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, 5. Mai 2003 23:09 schrieb Thomas Hertweck: [snip]
Hast Du nach dem Kopieren von .config in das neue Verzeichnis und vor dem Ausfuehren von "make dep" ein "make oldconfig" ge- macht? Das hatte ich eigentlich schon erklaert - hier sieht es wieder so aus, als haettest Du es nicht gemacht.
Hier scheint es sich um einen Konfigurationsfehler zu handeln. rwsem.c befindet sich in ./lib und sollte eigentlich mitcom- piliert werden und durch das Linken mit lib.a muessten dann die Referenzen rwsem_wake etc. aufgeloest werden koennen. Ueberpruefe mal Deine Konfiguration, da ist etwas wichtiges daneben gegangen.
Jaja, ok danke, hat jetzt geklappt! Kernel läuft, mit einigen Kleinigkeiten klappt's noch nicht so, aber Übersetzung war ok! Hier die Schritte nochmal: 1. Kernel 2.4.19 (nicht den von SusE=2.4.19-4GB) installieren (ist auf 8.1 & 8.2 als Source unter Development zu finden) 2. Patch runterladen (auf 2.4.20 oder bsplw. den Openwall Patch) von http://www.kernel.org 3. mit "patch" den Patch einspielen (im Kernelpatch Archiv das README lesen, dort gibt es eine detailllierte Anleitung) 4. /boot/vmlinuz.config nach /usr/src/linux/.config kopieren um die gleiche Kernelkonfiguration wie der SuSE Kernel als Ausgangbasis zu bekommen (ggf. vorher Link richtig setzen) 5. ein "make oldconfig", im Zweifelsfalle als Modul übersetzen 6. Kernel & Module backen wie gehabt ("make dep clean (!!!!) bzImage.....")
Gruesse, Thomson
Ebenfalls Michael
Hallo, * Michael Karges textete am 30.04.03:
habe den Kernel auf 2.4.20 nachgezogen um den Openwall Patch einspielen zu können und wollte einen Kernel backen der die gleichen Konfiguration hat wie der original SuSE Kernel.
Soweit ok.
Kopiere also /boot/vmlinuz.config nach /usr/src/linux, mach ein "make menuconfig" um mich zu versichern dass der Prozessortyp stimmt und speichere die Konfiguration ab.
Lädst du denn auch die vmlinuz.config in der menuconfig? Sonst wird .config verwendet, egal, was du in das Verzeichnis reinkopierst. cu flo -- GHAAAAAH! Ich habe von Andreas C. Lazar geträumt! ICH FLIPPE AUS! Was macht ihr mit meinem Gehirn?!? Stellt es ab! [Ozan Ayyüce in drfm]
participants (3)
-
Florian Gross
-
Michael Karges
-
Thomas Hertweck