Kernel module compilation errors

Matt M cmorrow132 at gmail.com
Thu Aug 11 17:50:04 EDT 2016


Thank you

On Thu, Aug 11, 2016 at 7:40 PM Greg KH <greg at kroah.com> wrote:

> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20160811/9b8238da/attachment.html 


More information about the Kernelnewbies mailing list