Thread (1 message) 1 message, 1 author, 2016-08-13

Kernelnewbies Digest, Vol 69, Issue 18

From: Yubin Ruan <hidden>
Date: 2016-08-13 04:10:02

On Thu, Aug 11, 2016 at 07:25:45PM +0000, Matt M wrote:
quoted
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
 
Alternatively, try this doc on TLKD:
    http://www.tldp.org/LDP/lkmpg/2.6/html/lkmpg.html
it's kind of outdated, but some code there still compile against the newest
kernel.

good luck,
Ruan.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help