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

100分求助关于一个简单的linux内核hello程序

    来源: 互联网  发布时间:2017-02-02

    本文导语:  hello.c: #include  #include  MODULE_LICENSE("GPL"); static int hello_init(void) { printk("hello module initn"); return 0; } static void hello_exit(void) { printk("hello module exitn"); } module_init(hello_init); module_exit(hello_exit); makefile: ifneq ($(KERNELRELEASE),)...

hello.c:
#include 
#include 
MODULE_LICENSE("GPL");
static int hello_init(void)
{
printk("hello module initn");
return 0;
}
static void hello_exit(void)
{
printk("hello module exitn");
}
module_init(hello_init);
module_exit(hello_exit);


makefile:
ifneq ($(KERNELRELEASE),)

obj-m :=hello.o

else

KERNELDIR ?=/usr/src/linux-2.6.32-38

#KERNELDIR ?= /lib/modules/$(shell uname -r)/build

PWD :=$(shell pwd)

modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
clean:
rm -rf *.o *~.core .depend .*.cmd *.ko *.mod.c .tmp_versions
rm -rf Mod* mod*
endif

系统内核版本 :
root@xu-desktop:~# uname -r
2.6.32-38-generic
编译出来后的hello.ko信息:
root@xu-desktop:~# modinfo practise/hello/hello.ko
filename:       practise/hello/hello.ko
license:        GPL
srcversion:     C879BFBDAB788B0CD197F1A
depends:        
vermagic:       2.6.32-38-generic SMP mod_unload modversions 

出现的问题:
root@xu-desktop:~# insmod practise/hello/hello.ko
insmod: error inserting 'practise/hello/hello.ko': -1 Invalid module format

补充:我在网上查了一下,这种情况是由于系统内核版本与源码版本对不上引起的,也按照他们说的方法改了一些配置,目前按照命令获取的版本号是一致的,但是由于我是刚接触linux才不到一个月的新手,在按照网上的各种方法试了个遍之后发现我的系统内核版本号被我改掉了(因为我同事跟我装的同一个linux,他的版本号却是2.6.32-28,而我读出来的却是2.6.32-38,有一点可以确定的是,我没有升级过内核),请问我现在该怎么做才能把我的版本号重置成正确的?

|
KERNELDIR ?=/usr/src/linux-2.6.32-38

#KERNELDIR ?= /lib/modules/$(shell uname -r)/build

因为内核版本后面还有一个后缀generic

KERNELDIR ?= /lib/modules/$(shell uname -r)/build

就用这个,为什么要注释掉呢?也就是用你当前系统上正在运行的内核的header构造内核模块,这样子才不会有问题。应该已经安装了kernel-header吧?
sudo apt-get install linux-headers-2.6.32-38-generic

    
 
 

您可能感兴趣的文章:

  • 【求助】基于2.6.29内核编译的驱动程序能否应用于2.6.32内核的系统?
  • 【求助】多进程中 内核信号量无效?
  • 求助:makefile,驱动与linux内核的关系?
  • 求助: 进程调度内核分析
  • 求助,关于编译驱动进内核的一个问题,实在找不到资料了!
  • rh8编译内核出错!求助!
  • [求助]如何设置uclinux内核中的内存
  • 求助如何顺利的阅读linux内核源代码
  • 内核源码求助?
  • 求助:内核编译出错,系统不能启动!!
  • 编译内核时出现的一个问题,求助!
  • 求助:如何移植DM9000网卡驱动到linux2.6内核?
  • 想在linux下面读ntfs分区,rpm内核时出现问题,求助!
  • docker中文入门学习手册 iis7站长之家
  • 内核与用户进程通信得问题,求助!
  • (求助)准备向linux内核方向发展应该有哪些基础???
  • 求助: linux内核编译的问题
  • 求助!编译内核出错
  • 求助:编译新内核,怎么会影响到旧内核的声卡驱动?
  • 紧急求助内核编译问题,急求!
  • 菜鸟求助:Linux 应用程序后台启动后关闭窗口程序退出
  • 求助 如何取消fedora 8启动时候的欢迎应用程序
  • 高分求助foxpro的jdbc驱动程序!!!!
  • 高分求助程序框架!!!!
  • 求助访问linux下jboss应用程序?
  • 求助:脚本文件和主程序通信问题
  • 求助:程序移植,让程序拷过去就可以用
  • Linux配置程序求助
  • 程序打包,求助!
  • [求助]如何获取一个程序所使用的系统调用和参数?
  • 菜鸟求助:如何让自己编的小程序,开机自动运行?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 怎样读取HZK24S前十区的内容啊???求助求助
  • 紧急求助!紧急求助!
  • 【求助】iplanet问题,求助高手解答!
  • 菜鸟求助,solaris下计算问题求助
  • 【求助】SOS紧急求助..............极为简单的问题...跪求....
  • 高分求助啊!求助SUSE 10.0 不能上网.
  • 急急急急急急急啊,紧急求助啊!!!!!满分求助啊!!!!!!
  • 求助:linux下 vim的配置(高分求助)
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!!
  • 求助~~求助 ~~linux文件读写问题
  • 求助:信号 --13 进程中断
  • 求助,安装了红帽子后进不了
  • 新装linux求助
  • linux的 iptables问题求助
  • (高分求助)请问,那里有软件开发的<设计文档>
  • 一个简单的问题,高分求助!!!
  • 紧急求助:Unix下给文件夹重命名用什么命令?谢谢!!!!
  • VJ的一个问题,高分求助,熟悉VJ得请进!
  • 高分求助


  • 站内导航:


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

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

    浙ICP备11055608号-3