non-static init in a basic kernel module

Greg KH greg at kroah.com
Wed Jun 11 09:29:42 EDT 2014


On Mon, Jun 09, 2014 at 12:28:13AM -0700, Warren Turkal wrote:
> Hey,
> 
> I was writing a basic hello world module. I am using Ubuntu, so I 
> installed linux-headers package that corresponded to my kernel. It's 
> strange because all of the examples that I saw (including from modules 
> in the kernel itself) show things like the following for the init function:
> 
> static int netcat_init(void)
> {
>      ...
>      return 0;
> }
> 
> module_init(netcat_init);
> 
> However, I was not able to get it to work with "static". My 
> hello_world_init function looks like the following:
> 
> int __init hello_world_init(void)
> {
>      ...
>      return 0;
> }
> 
> module_init(hello_world_init);
> 
> The command that is used to make the kernel module is the one suggested 
> in Documentation/kbuild/modules.txt. It looks like this:
> make -C /lib/modules/`uname -r`/build M=$PWD
> 
> Does anyone know why the "static" version would not work?

What exactly were the errors you got?



More information about the Kernelnewbies mailing list