Kernel 2.4.14 unter SuSE 7.2 compilieren
Hallo Liste! Ich habe mir vom de.kernel.org den aktuellen Kernel 2.4.14 gezogen (komplett, also nicht die Patches) und versucht, ihn nach der Konfiguration zu compilieren. Die Konfiguration, die ich bisher verwendet habe, tat auch bis zum (zur Zeit benutzten) Kernel 2.4.10. Um mir das lästige Neukonfigurieren zu ersparen habe ich einfach die .config-Datei einfach in das Verzeichnis mit den neuen Sourcen kopiert. Ein Aufruf von "make clean dep bzImage" kompiliert ohne Probleme alle Teile des Kernels, bis es zum Zusammenlinken der Teile zum kompletten Kernel kommt. Hier erhalte ich folgende Fehlermeldung: ---- snip---- make[2]: Leaving directory `/usr/src/linux/arch/i386/lib' make[1]: Leaving directory `/usr/src/linux/arch/i386/lib' ld -m elf_i386 -T /usr/src/linux/arch/i386/vmlinux.lds -e stext arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o init/version.o \ --start-group \ arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o \ drivers/parport/driver.o drivers/char/char.o drivers/block/block.o drivers/misc/misc.o drivers/net/net.o drivers/media/media.o drivers/char/agp/agp.o drivers/ide/idedriver.o drivers/scsi/scsidrv.o drivers/cdrom/driver.o drivers/sound/sounddrivers.o drivers/pci/driver.o drivers/pnp/pnp.o drivers/video/video.o drivers/usb/usbdrv.o drivers/input/inputdrv.o drivers/message/i2o/i2o.o drivers/i2c/i2c.o \ net/network.o \ /usr/src/linux/arch/i386/lib/lib.a /usr/src/linux/lib/lib.a /usr/src/linux/arch/i386/lib/lib.a \ --end-group \ -o vmlinux drivers/block/block.o: In function `lo_send': drivers/block/block.o(.text+0x890d): undefined reference to `deactivate_page' drivers/block/block.o(.text+0x8974): undefined reference to `deactivate_page' make: *** [vmlinux] Error 1 ---- snip---- Was könnte hierfür die Ursache sein? Über Ratschläge irgendeiner Art würde ich mich sehr freuen. Harald Latzko
On Thu, 15 Nov 2001, Harald Latzko wrote:
Ich habe mir vom de.kernel.org den aktuellen Kernel 2.4.14 gezogen [..] Hier erhalte ich folgende Fehlermeldung: drivers/block/block.o: In function `lo_send': drivers/block/block.o(.text+0x890d): undefined reference to `deactivate_page' drivers/block/block.o(.text+0x8974): undefined reference to `deactivate_page' make: *** [vmlinux] Error 1 [..] Was könnte hierfür die Ursache sein?
Schau mal in den Thread "Re: Frust mit SuSE 7.3" ab der Message-ID <3BE8FE0C.78E5F81F@nexgo.de>... Ansonsten wuerde ich empfehlen, in 2 Konsolen / Xterms make menuconfig aufzurufen, das eine mit dem alten Kernel, das andere mit dem neuen. Also z.B. 'make -C /usr/src/linux-2.4.10 menuconfig' im einen und 'make -C /usr/src/linux-2.4.14 menuconfig' im anderen... Und dann schoen geduldig die Config abklappern. -dnh -- Debating unix flavors in the context of anything Microsoft is like talking about which ice cream flavor tastes least like sawdust with turpentine sauce. -- stolen from Joe Zeff's sig
On 15 Nov 2001, at 22:43, David Haller wrote:
On Thu, 15 Nov 2001, Harald Latzko wrote:
Ich habe mir vom de.kernel.org den aktuellen Kernel 2.4.14 gezogen [..] Hier erhalte ich folgende Fehlermeldung: drivers/block/block.o: In function `lo_send': drivers/block/block.o(.text+0x890d): undefined reference to `deactivate_page' drivers/block/block.o(.text+0x8974): undefined reference to `deactivate_page' make: *** [vmlinux] Error 1 [..] Was könnte hierfür die Ursache sein?
Schau mal in den Thread "Re: Frust mit SuSE 7.3" ab der Message-ID <3BE8FE0C.78E5F81F@nexgo.de>...
Ansonsten wuerde ich empfehlen, in 2 Konsolen / Xterms make menuconfig aufzurufen, das eine mit dem alten Kernel, das andere mit dem neuen. Also z.B. 'make -C /usr/src/linux-2.4.10 menuconfig' im einen und 'make -C /usr/src/linux-2.4.14 menuconfig' im anderen...
Und dann schoen geduldig die Config abklappern.
Alternativvorschlag: Die alte .config Datei ins neue source-Verzeichnis übernehmen und dann ein "make oldconfig" vornehmen. Das hat bei mir sogar beim Umstieg von 2.2.x auf 2.4.x ohne weitere Probleme funktioniert. (Und es befreit dich von der Arbeit, alle alten Konfigurationen noch mal zu machen. Es werden nur (!) die neuen Parameter abgefragt) Andreas
Am Don, 15 Nov 2001 schrieb David Haller:
On Thu, 15 Nov 2001, Harald Latzko wrote:
Ich habe mir vom de.kernel.org den aktuellen Kernel 2.4.14 gezogen [..] Hier erhalte ich folgende Fehlermeldung: drivers/block/block.o: In function `lo_send': drivers/block/block.o(.text+0x890d): undefined reference to `deactivate_page' drivers/block/block.o(.text+0x8974): undefined reference to `deactivate_page' make: *** [vmlinux] Error 1 [..] Was könnte hierfür die Ursache sein?
Schau mal in den Thread "Re: Frust mit SuSE 7.3" ab der Message-ID <3BE8FE0C.78E5F81F@nexgo.de>...
Steht da drin, daß man die Aufrufe von deactivate_page() auskommentieren soll, habe den Thread leider nicht mehr hier...
Ansonsten wuerde ich empfehlen, in 2 Konsolen / Xterms make menuconfig aufzurufen, das eine mit dem alten Kernel, das andere mit dem neuen. Also z.B. 'make -C /usr/src/linux-2.4.10 menuconfig' im einen und 'make -C /usr/src/linux-2.4.14 menuconfig' im anderen...
Und dann schoen geduldig die Config abklappern.
Was hat das hiermit zu tun? Das loop.c Problem liegte doch nicht daran, daß Harald eine falsche Config hat, sondern daß der Kernel einen (winzigkleinen) Fehler hat. Wenn er nicht das Loopdevice wegläßt, was ja nicht Sinn der Sache sein kann, wird er den Fehler immer haben. Gruß Christoph -- Christoph Maurer - Paul-Röntgen-Straße 7 - 52072 Aachen - Tux#194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen
Christoph Maurer wrote:
Am Don, 15 Nov 2001 schrieb David Haller:
On Thu, 15 Nov 2001, Harald Latzko wrote:
Ich habe mir vom de.kernel.org den aktuellen Kernel 2.4.14 gezogen [..] Hier erhalte ich folgende Fehlermeldung: drivers/block/block.o: In function `lo_send': drivers/block/block.o(.text+0x890d): undefined reference to `deactivate_page' drivers/block/block.o(.text+0x8974): undefined reference to `deactivate_page' make: *** [vmlinux] Error 1 [..] Was könnte hierfür die Ursache sein?
Schau mal in den Thread "Re: Frust mit SuSE 7.3" ab der Message-ID <3BE8FE0C.78E5F81F@nexgo.de>...
Steht da drin, daß man die Aufrufe von deactivate_page() auskommentieren soll, habe den Thread leider nicht mehr hier...
Ja in linux/drivers/block/loop.c die Zeile 210 und 221 deactivate_page(page); streichen oder auskommentieren.
Ansonsten wuerde ich empfehlen, in 2 Konsolen / Xterms make menuconfig aufzurufen, das eine mit dem alten Kernel, das andere mit dem neuen. Also z.B. 'make -C /usr/src/linux-2.4.10 menuconfig' im einen und 'make -C /usr/src/linux-2.4.14 menuconfig' im anderen...
Und dann schoen geduldig die Config abklappern.
Was hat das hiermit zu tun? Das loop.c Problem liegte doch nicht daran, daß Harald eine falsche Config hat, sondern daß der Kernel einen (winzigkleinen) Fehler hat. Wenn er nicht das Loopdevice wegläßt, was ja nicht Sinn der Sache sein kann, wird er den Fehler immer haben.
so ist es. Jürgen
Juergen Rienaecker wrote:
Ja in linux/drivers/block/loop.c die Zeile 210 und 221 deactivate_page(page); streichen oder auskommentieren.
Wird ja immer schöner, wenn man jetzt schon den Kernel patchen muss, damit er sich überhaupt kompilieren lässt ... Ich hab genau die gleiche Fehlermeldung gekriegt und dann eben Kernel 2.4.13 genommen. Ciao, Magnum -- begin http://www.informatik.uni-muenchen.de/~_rosenbau/
Am Sam, 17 Nov 2001 schrieb Magnus Rosenbaum:
Juergen Rienaecker wrote:
Ja in linux/drivers/block/loop.c die Zeile 210 und 221 deactivate_page(page); streichen oder auskommentieren.
Wird ja immer schöner, wenn man jetzt schon den Kernel patchen muss, damit er sich überhaupt kompilieren lässt ...
Bei so einem Riesenprojekt wie dem Kernel kann es halt mal passieren, das eine Kleinigkeit durchgeht. Im vorliegenden Fall handelt es sich wirklich um eine solche - Auskommentieren von 2 Zeilen löst das Problem. Kann man selber finden oder mal kurz im Archiv der lkml nachschauen, Fehlermeldung und Lösung waren innerhalb von Stunden nach dem Release dort veröffentlicht.
Ich hab genau die gleiche Fehlermeldung gekriegt und dann eben Kernel 2.4.13 genommen.
2.4.14 ist was die Stabilität angeht, ein Fortschritt gegenüber 2.4.13, den ich nicht auslassen würde. Gruß Christoph -- Christoph Maurer - Paul-Röntgen-Straße 7 - 52072 Aachen - Tux#194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen
participants (6)
-
Andreas Kyek
-
Christoph Maurer
-
David Haller
-
Harald Latzko
-
Juergen Rienaecker
-
Magnus Rosenbaum