> ld -m elf_i386 -r -o net.o warn.o Space.o setup.o > net_init.o loopback.o auto_irq.o --------- snip----------------- > drivers/acpi/acpi.o drivers/cpufreq/cpufreq.o > drivers/char/char.o drivers/block/block.o > drivers/misc/misc.o drivers/net/net.o net.o is present, that means your module is also present. As ld has linked warn.o (and others) already to net.o How did you specify your init function? If you are inserting as module then it's init_module which is called. Here it is different. See macro __setup. I think, this is macro used to tell kernel abut init function of a built-in driver. Regards Mohanlal -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/