Rolf Hoff wrote:
[...]
Nach dem "make prepare" lautete version.h auch 2.6.5-7.75-2 (nicht default), das hatte ich extra geprüft.
Dann hat die Funktionsweise, wie sie immer beschrieben wurde hier auf der Liste, auch funktioniert.
Wann und warum sich das geändert hat, sodass jetzt wieder default statt -2 enthalten ist, verstehe ich nicht.
[ . . . .] hallo Thomas auch ein hallo an alle dank Deiner intensiven Beratung kann ich jetzt (z.B.) die Kernel-Source-2.6.5-7.75 problemlos compilieren. Mit dem neuen Kernel kann man auch problemlos booten. Nur konnte mit dem Kernel z.B. "antivir" und/oder "nvidia" nicht installiert werden. Das lag daran, dass in /lib/modules/kernel-version/build/include/ linux/version.h "UTS-RELEASE" nicht dem aktuellen (und gebootetem) Kernel entsprach. Jetzt kenne ich den Grund für den Fehler und die L Ö S U N G, wie der Fehler vermieden werden kann: Anders als bei den Kernel-Source-2.6.4-* gehört jetzt (bei SuSE) zu den Kernel-Source-2.6.5-7.75 das Verzeichnis "Kernel-Source-2.6.5-7.75-obj" Ohne die Dateien in *-obj kann der Kernel nicht mehr compiliert werden. Aber, wenn ich das Makefile in den Kernel-Source (am Ende) richtig verstanden habe, dann kann build die Dateien in *-obj nicht mit den nötigen Informationen versorgen. Zumindest bei dem von mir verwendeten Kernel-default (Uniprozessor) sind davon (mit Einfluß auf das Compilieren) folgende Dateien betroffen: *-obj/i386/default/.config und /Makefile *-obj/i386/default/include/linux/autoconf.h und version.h Ich kann nicht mit Bestimmtheit sagen, ob die Datei ./version.h (aus *-obj) beim Compilieren mit den Angaben des Kernels aktualisiert wurde. Wenn ja, dann wurde sie aber - wie auch alle anderen Dateien "version.h" - überschrieben (wahrscheinlich von der "autoconf.h" in *-obj, die mit Sicherheit nicht während des Compilierens aktualisiert wird.) Andere Dateien in *-obj usw können natürlich auch betroffen sein, das habe ich aber nicht weiter geprüft. Und nun mein Vorschlag für die L Ö S U N G : Zur Vermeidung einer falschen oder nicht eindeutigen Bezeichnung der (neuen) Kernel-Source kopiere ich in /usr/src "linux-2.6.5-7.75" und benenne sie dabei um in z.B. "linux-2.6.5-7.75-1" (Bei dieser Handhabung bitte nur die Original-Kernel-Source als Ausgangsbasis für das Kopieren verwenden) Die Meinung über diese Handhabung kann sicher unterschiedlich sein. Ich habe nur gute Erfahrungen damit. Gleichzeitg kopiere ich "linux-2.6.5-7.75-obj" (wie vorstehend) als "linux-2.6.5-7.75-1-obj" . Alsdann berichtige ich die Links. Der neue Kernel, der nunmehr compiliert werden soll hat jetzt die Bezeichnung "linux-2.6.5-7.75-1" mit "*-1-obj" Wenn dann nach dieser Vorbereitung und durch make mrproper, make oldconfig (oder make cloneconfig), make xconfig (oder make menueconfig) und make prepare für folgende Handhabungen die Grundlagen feststehen, mache ich folgendes zur Vermeidung des hier in Rede stehenden Fehlers: 1) Ich ändere im linux-2.6.5-7.75-1-obj/i386/default/Makefile die Kernel-Bezeichnung in "Linux-2.6.5-7.75-1" 2) Ich lösche die Dateien linux-2.6.5-7.75-1-obj/i386/default/.config und linux-2.6.5-7.75-1-obj/i386/default/include/linux/ autoconf.h und version.h und ersetze sie durch die gleichlautenden Dateien aus /usr/src/linux-2.6.5-7.75-1/.config /usr/src/linux-2.6.5-7.75-1/include/linux/autoconf.h und version.h Danach sollte in "version.h" die Bezeichnung für "UTS_RELEASE" nicht mehr mit Angaben überschrieben werden, die nicht mit dem aktuellen Kernel übereinstimmen. Gruß Rolf