The error message indicates that your module was not build properly.
The compiler call like you have given it, is the one used for 2.4.x kernels.
With the 2.6.x kernels (SuSE 9.1 has an 2.6.x kernel) things are a little bit different, although easier.
The kernel modules with 2.6.x have a .ko (Kernel Object) ending, and
not .o .
First of all you shall add the Licence Macro to your module source.
Otherwise you will get a error message when loading the module, telling that the
module is tainted.
You *need* to have write access to the kernel source tree. So compile as root.
cd into the directory with the module source
Create a Makefile
with following entry:
obj-m := mydev.o
cat "obj-m := mydev.o" > Makefile
then compile the module with
make -C /lib/modules/$(uname -r)/build SUBDIRS=$PWD modules
After that you can try to load the module with
Check with lsmod if the module is loaded.
modprobe -r mydev
you can remove the module.
Last edited by Vlad-A; 07-27-2004 at 12:52 PM.