Hi
Create a makefile like this :
KERNELDIR = /usr/src/linux-2.4 (change this according to your Kernel dir)
include $(KERNELDIR)/.config
CFLAGS = -I$(KERNELDIR)/include -O -Wall
all: hello.o
and try 'make' ....U can refer Rubini's Linux Device Drivers, chapter2
http://www.xml.com/ldd/chapter/book/ch02.html
Regards
Suneesh
Lei Yang wrote:
Hello,
I am learning about module programming and just tried to build a
simplest module, Hello World.
The code is as follows:
/* hello.c
#include <linux/module.h>
#include <linux/kernel.h>
int init_module(void)
{
printk("Hello world!\n");
return 0;
}
void cleanup_module(void)
{
printk(KERN_ALERT "Goodbye world!\n");
}
The makefile is just one line:
obj-m += hello.o
Then as root, I did in the HelloWorld directory:
make -C /usr/src/linux-`uname -r` SUBDIRS=$PWD modules
There is such an error:
make: Entering directory `/usr/src/linux-2.6.5-7.104-default'
WARNING: Symbol version dump
/usr/src/linux-2.6.5-7.104-default/Module.symvers is missing, modules
will have CONFIG_MODVERSIONS disabled.
make[1]: *** No rule to make target `/home/lei/HelloWorld/hello.c',
needed by `/home/lei/HelloWorld/hello.o'. Stop.
make: *** [_module_/home/lei/HelloWorld] Error 2
make: Leaving directory `/usr/src/linux-2.6.5-7.104-default'
Appreciate any comments and help!
TIA
Lei
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/