当前位置: 技术问答>linux和unix
内核版本和程序便以版本的不匹配如何解决
来源: 互联网 发布时间:2015-03-21
本文导语: 我按《设备驱动程序》一书写了一个最简单的程序。 #define MODULE #include int init_module(void) { printk("Hello,worldn"); return 0; } void cleanup_module(void) { printk("Goodbye cruel worldn"); } 然后进行编译 gcc -c hello.c insmod ./hello.o 然后...
我按《设备驱动程序》一书写了一个最简单的程序。
#define MODULE
#include
int init_module(void)
{
printk("Hello,worldn");
return 0;
}
void cleanup_module(void)
{
printk("Goodbye cruel worldn");
}
然后进行编译
gcc -c hello.c
insmod ./hello.o
然后出现这些错误信息
./hello.o: kernel-module version mismatch
./hello.o was compiled for kernel version 2.4.20
while this kernel is version 2.4.20-8
如何解决呀,偶新学上路
#define MODULE
#include
int init_module(void)
{
printk("Hello,worldn");
return 0;
}
void cleanup_module(void)
{
printk("Goodbye cruel worldn");
}
然后进行编译
gcc -c hello.c
insmod ./hello.o
然后出现这些错误信息
./hello.o: kernel-module version mismatch
./hello.o was compiled for kernel version 2.4.20
while this kernel is version 2.4.20-8
如何解决呀,偶新学上路
|
gcc -c hello.c -I/usr/src/linux2.4/include -D__KERNEL__ -DMODULE -DLINUX
|
gcc -I /usr/src/linux-2.4/include -c hello.c
|
gcc -c hello.c -I/usr/src/linux2.4/include -D__KERNEL__ -DMODULE -DLINUX
同时保证你的KERNEL VERSION和当前运行的KERNEL VERSION一样。
同时保证你的KERNEL VERSION和当前运行的KERNEL VERSION一样。
|
执行dmesg|tail就应该看到了