Tobi-fp
July 22nd, 2009, 05:06 PM
Hey..
I wanna start programming kernel modules, and therefore i got the kernel-source of off kernel.org
i made a file
nothing.o:
---------------------------------------------------------------
#include <linux/module.h>
static int __init hello_world( void )
{
printk( "hello world!\n" );
return 0;
}
static void __exit goodbye_world( void )
{
printk( "goodbye world!\n" );
}
module_init( hello_world );
module_exit( goodbye_world );
-------------------------------------------------------------
and a makefile:
makefile:
-----------------------------------------------------------
obj-m := nothing.o
-----------------------------------------------------------
the result in terminal when i do #sudo make -C /usr/src/linux-source-2.6.28 M=pwd modules
-------------------------------------------------------------
make: Entering directory `/usr/src/linux-source-2.6.28'
ERROR: Kernel configuration is invalid.
include/linux/autoconf.h or include/config/auto.conf are missing.
Run 'make oldconfig && make prepare' on kernel src to fix it.
WARNING: Symbol version dump /usr/src/linux-source-2.6.28/Module.symvers
is missing; modules will have no dependencies and modversions.
scripts/Makefile.build:41: /usr/src/linux-source-2.6.28/pwd/Makefile: No such file or directory
make[1]: *** No rule to make target `/usr/src/linux-source-2.6.28/pwd/Makefile'. Stop.
make: *** [_module_pwd] Error 2
make: Leaving directory `/usr/src/linux-source-2.6.28'
-----------------------------------------------------------------
what am i doing wrong?
i couldnt sudo apt-get install kernel-headers??
I wanna start programming kernel modules, and therefore i got the kernel-source of off kernel.org
i made a file
nothing.o:
---------------------------------------------------------------
#include <linux/module.h>
static int __init hello_world( void )
{
printk( "hello world!\n" );
return 0;
}
static void __exit goodbye_world( void )
{
printk( "goodbye world!\n" );
}
module_init( hello_world );
module_exit( goodbye_world );
-------------------------------------------------------------
and a makefile:
makefile:
-----------------------------------------------------------
obj-m := nothing.o
-----------------------------------------------------------
the result in terminal when i do #sudo make -C /usr/src/linux-source-2.6.28 M=pwd modules
-------------------------------------------------------------
make: Entering directory `/usr/src/linux-source-2.6.28'
ERROR: Kernel configuration is invalid.
include/linux/autoconf.h or include/config/auto.conf are missing.
Run 'make oldconfig && make prepare' on kernel src to fix it.
WARNING: Symbol version dump /usr/src/linux-source-2.6.28/Module.symvers
is missing; modules will have no dependencies and modversions.
scripts/Makefile.build:41: /usr/src/linux-source-2.6.28/pwd/Makefile: No such file or directory
make[1]: *** No rule to make target `/usr/src/linux-source-2.6.28/pwd/Makefile'. Stop.
make: *** [_module_pwd] Error 2
make: Leaving directory `/usr/src/linux-source-2.6.28'
-----------------------------------------------------------------
what am i doing wrong?
i couldnt sudo apt-get install kernel-headers??