From mboxrd@z Thu Jan 1 00:00:00 1970 From: ablacktshirt@gmail.com (Yubin Ruan) Date: Sat, 13 Aug 2016 12:10:02 +0800 Subject: Kernelnewbies Digest, Vol 69, Issue 18 In-Reply-To: References: Message-ID: <20160813041000.GB6730@Ubuntu-HP> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org > 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 > > #include > > > > 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.