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

入门级别菜鸟问题

    来源: 互联网  发布时间:2016-12-05

    本文导语:  学着写一个内核模块程序 环境:   2.6以上内核,前不久安装的fedora 1.0 代码: hello.c #include     //needed by all modules #include     //needed for KERN_ALERT #include  MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void) {  ...

学着写一个内核模块程序
环境:
  2.6以上内核,前不久安装的fedora 1.0
代码:
hello.c

#include     //needed by all modules
#include     //needed for KERN_ALERT
#include 

MODULE_LICENSE("Dual BSD/GPL");

static int hello_init(void)
{
    printk(KERN_INFO "hello, world!n");
    
    return 0;
}

static void hello_exit(void)
{
    printk(KERN_INFO "goodbye worldn");
}

module_init(hello_init);
module_exit(hello_exit);


Makefile:
obj-m := hello.o
KERNELDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)

default: 
    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
clean:
    $(RM) *.o *.ko *.mod.c Module.symvers


make不通
对机制不是很理解
还是摸索
大家帮我看看错误,thx!

|
前面增加
MAKE=make
RM=rm
obj-m := hello.o 
KERNELDIR := /lib/modules/$(shell uname -r)/build 
PWD := $(shell pwd) 

default: 
    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 
clean: 
    $(RM) *.o *.ko *.mod.c Module.symvers 

|
好像那么写没有什么错误啊,

可能是其他错吧

内核代码有吗?其他工具都装齐了吗?

还是把错误贴一下看看

|
参考:http://blog.csdn.net/wenxy1/archive/2008/03/20/2199507.aspx

|
刚才试了一个,错误很简单。
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules前面要用tab键缩行,不能用空格。

|

BTW:
$(RM) *.o *.ko *.mod.c Module.symvers也是

|

进了一步了,出现这种情况是你的机器上没有内核源码树。从安装光盘里找kernel-devel这个包安装上估计再make一一下

|

不需要编译内核,只要找到kernel-devel包安装上就行。这时

[lihua@wuqingmin 2.6.31.12-174.2.19.fc12.i686.PAE]$ pwd
/usr/src/kernels/2.6.31.12-174.2.19.fc12.i686.PAE
[lihua@wuqingmin 2.6.31.12-174.2.19.fc12.i686.PAE]$ ls
arch   crypto   firmware  include  ipc     lib       mm              Module.symvers  samples  security  System.map  usr
block  drivers  fs        init     kernel  Makefile  Module.markers  net             scripts  sound     tools
[lihua@wuqingmin 2.6.31.12-174.2.19.fc12.i686.PAE]$ 


|
不需要自己写makefile,把hello.c放到/drivers/char里,在里面的makefile中增加obj-m +=hello.o一行,在内核根目录下make modules即可生成hello.ko文件

|
  Good and have a try .

|

我也都是这么用,推荐,如果你只是研究驱动的话

    
 
 

您可能感兴趣的文章:

  • 菜鸟入门问几个小问题
  • jsp入门菜鸟向高手请教
  • 论坛 iis7站长之家
  • 菜鸟入门问题.....(急急急...在线等)
  • 轻松来捡分:一个菜鸟的入门问题?谢谢!!
  • 这样的shell脚本怎么写(菜鸟入门)
  • 菜鸟入门百思不得其解???
  • 菜鸟想入门linux的第一问,在redhat下的root终端输入gcc -c hello.c怎么提示错误啊?
  • 新手入门,菜鸟级问题,关于servlet的。
  • 菜鸟入门级问题,请好心人进来!
  • 我即将成为Java菜鸟:现有几个入门级的问题,请已经工作的高手指点
  • 新手入门,菜鸟级问题,关于servlet的
  • 菜鸟请问LINUX的操作系统光盘要怎么买?怎么安装?去哪里寻找相关入门书籍?
  • 菜鸟入门:如何着手用c/c++写linux下的cig程序啊?
  • 菜鸟俺想开始折腾linux下c/c++编程(有一定的windows下c/c++编程经验),请大家介绍经验,介绍一些入门资料,谢谢大家
  • 入门级别网卡问题!请大家帮忙了!
  • 我们的linux水平真 的非常有限阿,看看我们的问题,大部分是入门级别的,而且一般还不能得到完美的答复
  • linux入门级别编程问题。。。。。欢迎来回答
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于docker入门教程
  • JAVA 怎么入门?
  • Python下Html/xml解析库Beautiful Soup快速入门教程
  • linux入门书籍?
  • 谢谢推荐几本关于JAVA入门好书?
  • 求KDevelop 入门教程
  • Vxworks 嵌入式操作系统入门请教,请多指点!
  • 我刚开始学linux,哪位有入门的视频教学呀!
  • ECMAScript 6入门
  • 请大家介绍一下java BEAN的入门读物吧
  • 请推荐几本java的入门和提高书籍.
  • 关于linux下编程入门的书籍
  • 刚刚进入linux下编程,请指点入门~~~
  • linux驱动入门问题
  • 求linux入门帮助
  • 求Linux的入门书籍
  • 谁能告诉我JAVA怎样快速的入门?
  • 大家帮忙推荐一本linux socket编程的入门书,我刚接触socket,谢谢!!
  • 准备从Windows转向Linux的软件开发,语言为C++,怎么入门?
  • 排版入门套件 Typeplate
  • 送分!!!入门的选择??


  • 站内导航:


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

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

    浙ICP备11055608号-3