non-static init in a basic kernel module
Warren Turkal
wt at penguintechs.org
Mon Jun 9 03:28:13 EDT 2014
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?
Thanks,
wt
More information about the Kernelnewbies
mailing list