Chinaunix首页 | 论坛 | 博客
  • 博客访问: 216035
  • 博文数量: 33
  • 博客积分: 1690
  • 博客等级: 上尉
  • 技术积分: 381
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-27 18:57
个人简介

吟游天地间,隐没市井中..

文章分类
文章存档

2014年(1)

2009年(6)

2008年(26)

我的朋友

分类: LINUX

2008-07-23 13:39:56

今天终于完成了一个小小的hello.o的挂载程序,虽然最开始看起来挺简单,可是中间却经历了很多挫折。在此把正确的程序和编译流程贴出来:

#define MODULE
#include <linux/module.h>

MODULE_LICENSE("GPL");

int init_module(void)
{
        printk("Hello World!\n");
        return 0;
}

void cleanup_module(void)
{
        printk("Goodbye!\n");
}


然后用/usr/src/linux.2.4.20-8/include/linux/version.h代替/usr/include/linux/version.h
然后gcc -c hello.c
得到hello.o
然后用insmod hello.o 挂载。。
呵呵  别看说起来挺简单,可是费了老大的劲才编译通过的。
阅读(3908) | 评论(14) | 转发(0) |
0

上一篇:没有了

下一篇:samba服务器的配置

给主人留下些什么吧!~~

chinaunix网友2009-02-07 20:03:00

你好!请教你一个编译内核模块的问题: 我现在有一个交叉编译环境,powerpc-linux-gcc,试验过用它编译一个简单的程序放到ppc平台运行的linux中可以运行。我现在想编译一个最简单的模块文件加载到ppc linux内核中,源文件是很多网上都提过的hello.c,Makefile文件是这样的: KERNELDIR = /home/davidwx/control-project/daq-module/kernel/linux-2.6.11.8 CROSS_COMPILE = powerpc-linux- ARCH := ppc CC := $(CROSS_COMPILE)gcc LD := $(CROSS_COMPILE)ld CFLAGS = -O2 -D__KERNEL__ -DLINUX -DMODULE -DEXPORT_SYMTAB -O3 -Wall -I$(KERNELDIR) -O obj-m := hello.o PWD := $(shell pwd) all: $(MAKE) -C $(KERNELDIR) M=$(PW

chinaunix网友2009-01-05 14:49:11

很明显是路径原因呀.. 还有你的环境是什么呢? 可以去www.mcuos.com上提问!

chinaunix网友2009-01-05 14:49:11

很明显是路径原因呀.. 还有你的环境是什么呢? 可以去www.mcuos.com上提问!

chinaunix网友2008-12-30 14:04:07

hello.c:2:24: 错误:linux/init.h:没有那个文件或目录 hello.c:3:26: 错误:linux/module.h:没有那个文件或目录 hello.c:4: 错误:expected declaration specifiers or ‘...’ before string constant hello.c:4: 警告:数据定义时没有类型或存储类 我的出现以下错误,我知道是没有安装src,请问你是怎么安装编译的内核,谢谢!我的邮箱:auto1573@163.com,QQ:28081873

chinaunix网友2008-12-30 14:04:07

hello.c:2:24: 错误:linux/init.h:没有那个文件或目录 hello.c:3:26: 错误:linux/module.h:没有那个文件或目录 hello.c:4: 错误:expected declaration specifiers or ‘...’ before string constant hello.c:4: 警告:数据定义时没有类型或存储类 我的出现以下错误,我知道是没有安装src,请问你是怎么安装编译的内核,谢谢!我的邮箱:auto1573@163.com,QQ:28081873