Thread (5 messages) 5 messages, 2 authors, 2016-08-12

Kernel module compilation errors

From: Greg KH <hidden>
Date: 2016-08-11 19:40:46

On Thu, Aug 11, 2016 at 07:25:45PM +0000, Matt M wrote:
I am just getting started with kernel module development, and I can't get
anything to compile.

I get the following errors:

In file included from main.c:1:0:
/usr/src/linux/include/linux/init.h:142:13: error: expected ?=?, ?,?, ?;?,
?asm? or ?__attribute__? before ?load_default_modules?
?void __init load_default_modules(void);
? ? ? ? ? ? ?^~~~~~~~~~~~~~~~~~~~
/usr/src/linux/include/linux/init.h:143:12: error: expected ?=?, ?,?, ?;?,
?asm? or ?__attribute__? before ?init_rootfs?
?int __init init_rootfs(void);
? ? ? ? ? ? ^~~~~~~~~~~
/usr/src/linux/include/linux/init.h:285:13: error: expected ?=?, ?,?, ?;?,
?asm? or ?__attribute__? before ?parse_early_param?
?void __init parse_early_param(void);
? ? ? ? ? ? ?^~~~~~~~~~~~~~~~~
/usr/src/linux/include/linux/init.h:286:13: error: expected ?=?, ?,?, ?;?,
?asm? or ?__attribute__? before ?parse_early_options?
?void __init parse_early_options(char *cmdline);


The errors go on and on, but the majority look like that.

My code:

#include <linux/init.h>
#include <linux/module.h>

int main() {
return 0;
}


The compile command:
gcc -I /usr/src/linux/include/ main.c
That's not how you compile a Linux kernel module, sorry.

Please read the very good documentation for how to set up a Makefile for
building a kernel module.  It's in the kernel's Documentation/
directory.

best of luck,

greg k-h
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help