当前位置:  技术问答>linux和unix

uSE Linux 10.1下ldd3 hello world例子Invalid module format问题

    来源: 互联网  发布时间:2015-12-23

    本文导语:  我的系统是SuSE Linux 10.1,kernel version是2.6.16.13 我的hello.c和Makefile都是按照ldd3上来写的。 hello.c的代码如下: #include  #include  MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void) { printk(KERN_ALERT "Hello, worldn"); return 0; } ...

我的系统是SuSE Linux 10.1,kernel version是2.6.16.13
我的hello.c和Makefile都是按照ldd3上来写的。
hello.c的代码如下:
#include 
#include 
MODULE_LICENSE("Dual BSD/GPL");

static int hello_init(void)
{
printk(KERN_ALERT "Hello, worldn");
return 0;
}

static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye, cruel worldn");
}

module_init(hello_init);
module_exit(hello_exit);

Makefile如下:
ifneq ($(KERNELRELEASE),)
obj-m := hello.o
else
KERNELDIR ?=/lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
# $(MAKE) -C /usr/src/linux-2.6.16.13 M=$(PWD) modules
clean:
rm -rf *.o .*.cmd *.ko *.mod.c .tmp_versions *~
endif

我的源码数的路径为/usr/src/linux-2.6.16.13-4-obj/i386/default/
下面是我的一些信息,请帮忙看看,几天了一直没有找到解决方法

#make
make -C /lib/modules/2.6.16.13-4-default/build M=/software modules
make[1]: Entering directory `/usr/src/linux-2.6.16.13-4-obj/i386/default'
CC [M] /software/hello.o
Building modules, stage 2.
MODPOST
CC /software/hello.mod.o
LD [M] /software/hello.ko
make[1]: Leaving directory `/usr/src/linux-2.6.16.13-4-obj/i386/default'

#insmod hello.ko
insmod: error inserting 'hello.ko': -1 Invalid module format //老是这个问题
#insmod -f hello.ko
insmod: error inserting 'hello.ko': -1 Invalid module format

#cat var/log/message
Nov 5 20:42:45 Love-Linux kernel: hello: disagrees about version of symbol struct_module

#uname -r
2.6.16.13-4-default

#cat /lib/modules/2.6.16.13-4-default/build/include/linux/version.h
#define UTS_RELEASE "2.6.16-default"
#define LINUX_VERSION_CODE 132624
#define KERNEL_VERSION(a,b,c) (((a) 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.jws.soap注释类型soapbinding的类成员方法: use定义及介绍
  • 编译u-boot时出现???libgcc.a uses hardware FP, whereas u-boot uses software FP
  • java命名空间java.net类httpurlconnection的类成员方法: http_use_proxy定义及介绍
  • If I know the function used in the program,how can I get the library which provides the implemation of the BEING USED function
  • java命名空间javax.swing枚举dropmode的类成员方法: use_selection定义及介绍
  • i can't use my chinput!!!help me!
  • java命名空间java.lang类character.unicodeblock的类成员方法: private_use_area定义及介绍
  • where can i download simsun, and how can i use it?
  • java命名空间java.beans类introspector的类成员方法: use_all_beaninfo定义及介绍
  • 基于Manifest.xml中不要出现重复的uses permission的说明
  • java命名空间javax.jws.soap枚举soapbinding.use的类成员方法: literal定义及介绍
  • Use COM in java
  • java命名空间java.lang类character的类成员方法: private_use定义及介绍
  • Use of variable as components name?
  • java命名空间javax.jws.soap枚举soapbinding.use的类成员方法: encoded定义及介绍
  • How to use "PATH"?
  • java命名空间java.lang类character.unicodeblock的类成员方法: supplementary_private_use_area_a定义及介绍
  • how to use usb-storage in read hat linux?
  • java命名空间java.lang类character.unicodeblock的类成员方法: supplementary_private_use_area_b定义及介绍
  • how to use 'this' in EJB?
  • java命名空间javax.xml.ws接口bindingprovider成员方法: soapaction_use_property定义参考
  • how to use chinese in redhat8.0


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3