Karl Sinn wrote:
Da habe ich ja scheinbar ziemliches Glueck gehabt, denn mein make mrproper oldconfig ... hat zu einem funktionierenden Kernel geführt. Allerdings habe ich den Kernel mit YOU von SuSE geholt. Ist bei diesen SuSE-Kernel-Sources die /$ARCH/defconfig == der SuSE Defaultkonfiguration?
Kann ich Dir nicht genau sagen. Mit einem Vanilla-Kernel hatte ich mit der Default-Konfiguration defconfig allerdings so meine Probleme. Du kannst die SuSE-Konfiguration zum Kernel (findest Du z.B. in /boot oder kannst sie bei laufendem SuSE-Defaultkernel aus /proc/config.gz auslesen) ja mal mit der defconfig Datei vergleichen. Dann muesstest Du schon feststellen, ob sie passen oder doch unterschiedlich sind.
Und noch eine Frage. Wenn ich nur im Makefile die EXTRAVERSION ändere, reicht es dann ein make modules_install zu machen? Oder muss ich dann wieder make dep bzImage modules machen?
Einige Anmerkungen vorweg: Die Variable EXTRAVERSION solltest Du nur bei alten SuSE-Kerneln oder bei Vanilla-Kerneln setzen. Neue SuSE-Kernel koennen waehrend der Konfiguration unter "Build Options" angepasst werden und bekommen dort einen Konfigurationsnamen und eine Release-Nummer. Deine Vorgehensweise spricht fuer Kernel 2.4, weil es ja bei Kernel 2.6 kein "make dep" mehr gibt. Ich gehe davon aus, dass dies Absicht war von Dir, wir hier also wirklich ueber 2.4er Kernel sprechen. Zu Deiner eigentlichen Frage: Ich moechte sie Dir nun ungern einfach so beantworten, sondern moechte Dich dazu animieren, mal selbst ueber die Antwort zu gruebeln. Die Antwort ist eigentlich ganz leicht. Ein Modul muss im Prinzip zum laufenden Kernel passen, wenn es geladen werden soll. Die Versionsangabe beim Kernel kannst Du einfach per z.B. "uname -r" herausfinden. Bei einem Modul ist die Versionsangabe ebenfalls eincompiliert, nimm ein beliebiges Modul und schau Dir mal od -s /lib/modules/<pfad>/<name>.o | grep version an, wobei Du hier natuerlich <pfad> und <name> durch ein existierendes Modul ersetzen musst. Du wirst sehen, dass dort die Versionsangabe erscheint. Passt sie nun nicht zum laufenden Kernel, so will modprobe das Modul erst einmal nicht laden. Nun musst Du nur noch ueberlegen, was die von Dir vorgeschlagene Vorgehensweise fuer eine Konsequenz hat, also EXTRAVERSION aendern und dann "make modules_install" aufrufen. Was willst Du damit ueberhaupt bewirken? Ich wage zu behaupten, das wird nicht das machen, was Du Dir vielleicht erhoffst. Gruesse, Th.