muessen Kernelmodule _exakt_ die richtige Versionsnummer tragen?
Hallo Leute, ich bin leider immer noch nicht mit meinem onboard-raid promise pdc20276 zurande gekommen (war eine frühere Mail von mir). Zuerst habe ich mal den nicht-funktionierenden Treiber aus der initrd rausgeworfen, davon droht jetzt zumindest keine Gefahr mehr. Nun bin ich einem Link von suse zu promise gefolgt: dort ist ein Treiber für suese, der aber ausdrücklich für kernel 2.4.19 (sues 8.1 oder so) gedacht ist und nicht für suse 8.2, Kernel 2.4.20. Ein Installationsversuch wird via Skript zurückgewiesen. 2 Fragen dazu: muß die Kernel-version exakt zum Modulversion passen? Wenn nicht, wie trickst man die Versionsabfrage aus? alle Tips (und tricks, leider) zum Onboard-Raid sind vergleichsweise umständlich und gehen davon aus, dass man von dem Ding booten möchte, dann muß man ja das Modul in der initrd laden. Ich will das nicht. Kann man nicht schlicht und einfach ein passendes Modul mit insmod oder modprobe laden und stante pede ist der Controller nebst Platten da und läßt sich mounten? Das würde mir genügen. Holger
Holger Poggel wrote:
Nun bin ich einem Link von suse zu promise gefolgt: dort ist ein Treiber für suese, der aber ausdrücklich für kernel 2.4.19 (sues 8.1 oder so) gedacht ist und nicht für suse 8.2, Kernel 2.4.20. Ein Installationsversuch wird via Skript zurückgewiesen.
2 Fragen dazu: muß die Kernel-version exakt zum Modulversion passen? Wenn nicht, wie trickst man die Versionsabfrage aus?
Im Prinzip sollten Kernel-Module in ihrer Version exakt zur Kernel-Version passen. Dann sollte es die wenigsten Probleme geben. Es gibt allerdings bei der Kernel-Konfig die Moeglichkeit, "set version information on all module symbols" zu aktivieren: Usually, modules have to be recompiled whenever you switch to a new kernel. Saying Y here makes it possible, and safe, to use the same modules even after compiling a new kernel; Man kann auch Module laden, die nicht genau zur Kernel- Version passen, aber das geht natuerlich nur bis zu einem gewissen Grad. Wenn sich zu viel am Kernel geaendert hat, dann wird auch das nicht gehen. Ein Modul, was nicht genau zum Kernel passt, kann man evtl. mit "insmod -f" laden. Das -f steht fuer force: Attempt load the module even if the version of the running kernel and the version of the kernel for which the module was compiled do not match. This only overrides the kernel version check, it has no effect on symbol name checks. If the symbol names in the module do not match the kernel then there is no way to force insmod to load the module. Siehe "man insmod" fuer weiteres. Gruesse, Thomson
Am Donnerstag, 26. Juni 2003 13:32 schrieb Holger Poggel:
2 Fragen dazu: muß die Kernel-version exakt zum Modulversion passen? Wenn nicht, wie
Ja.
trickst man die Versionsabfrage aus?
Also ich hab früher beim Soundblaster Live Treiber (als der nur binary zur Verfügung stand), mit nem Hex-Editor die Versionsnummer einfach geändert. Solang an der Interface-Struktur nichts geändert wird, geht das problemlos. -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de
participants (3)
-
Holger Poggel
-
Manfred Tremmel
-
Thomas Hertweck