Messages in this thread | | | Date | Tue, 7 Jan 2003 09:21:29 -0800 (PST) | From | "Randy.Dunlap" <> | Subject | Re: Insmod failed |
| |
| Hi,
On Tue, 7 Jan 2003, Michal Sojka wrote:
| I'am porting driver for my USB 2.0 device to 2.5 and when I try insmod | my module I get the following: | | Error inserting '/lib/modules/2.5.54/misc/usb-emise.o': -1 Invalid | module format
From lkml archives: Add a -DKBUILD_MODNAME="yourname" compile option to one of the files, the new loader requires a module name section. It should be only set once for each module.
In addition make sure you're using the new style module_init/module_exit macros instead of init_module/cleanup_module.
| I compile my module separate of kernel tree with Makefile similar to | that in Linux Device Drivers book (Rubini, Corbet). What is the right | way to compile standalone modules?
From lkml archives: Try to folllow this reciept [recipe] posted by Kai G. ------------- Well, you can do
cd my_module echo "obj-m := my_module.o" > Makefile vi my_module.c make -C <path/to/kernel/src> SUBDIRS=$PWD modules
That's not too bad (and basically works for 2.4 as well) ---------------
| module-init-tools version 0.9.7, kenrel 2.5.52,54 | | objdump -h /lib/modules/2.5.54/misc/usb-emise.o | | /lib/modules/2.5.54/misc/usb-emise.o: file format elf32-i386 | | Sections: | Idx Name Size VMA LMA File off Algn | 0 .text 00001b94 00000000 00000000 00000034 2**2 | CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE | 1 .data 000001c0 00000000 00000000 00001be0 2**5 | CONTENTS, ALLOC, LOAD, RELOC, DATA | 2 .bss 00000000 00000000 00000000 00001da0 2**2 | ALLOC | 3 .note 00000014 00000000 00000000 00001da0 2**0 | CONTENTS, READONLY | 4 .stab 00007bd8 00000000 00000000 00001db4 2**2 | CONTENTS, RELOC, READONLY, DEBUGGING | 5 .stabstr 0001893f 00000000 00000000 0000998c 2**0 | CONTENTS, READONLY, DEBUGGING | 6 .rodata.str1.32 00000aa0 00000000 00000000 000222e0 2**5 | CONTENTS, ALLOC, LOAD, READONLY, DATA | 7 .rodata.str1.1 00000129 00000000 00000000 00022d80 2**0 | CONTENTS, ALLOC, LOAD, READONLY, DATA | 8 __obsparm 00000080 00000000 00000000 00022ec0 2**5 | CONTENTS, ALLOC, LOAD, DATA | 9 .rodata 00000004 00000000 00000000 00022f40 2**2 | CONTENTS, ALLOC, LOAD, READONLY, DATA | 10 .init.text 000000c8 00000000 00000000 00022f44 2**2 | CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE | 11 .exit.text 00000098 00000000 00000000 0002300c 2**2 | CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE | 12 .comment 00000037 00000000 00000000 000230a4 2**0 | CONTENTS, READONLY
See a pattern here? :) -- ~Randy
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |