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