QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 911|回复: 0

驱动:redhat9可以armlinux却不可以insmod

[复制链接]
发表于 2005-7-4 15:47:46 | 显示全部楼层 |阅读模式
一个简单的驱动hello.c:    (<Linux设备驱动程序>第二版P25)
#define MODULE
#include <linux/module.h>
init init_module(void){
printk ("<1>Hello");
return 0;
}
void cleanup_module(void){
printk("<1>Bye");
}
在RedHat9用gcc编译后可以 insmod,rmmod

上面的程序用arm-linux-gcc编译时,出现了几个问题:
(1)直接编译通不过   arm-linux-gcc -c hello.c  错误信息是parse error before "UTS_RELEASE"
(2)于是修改程序 先写#include ,再写#define MODULE
arm-linux-gcc -c hello.c 无错误信息出现了  (如果用arm-linux-gcc -c -D__KERNEL__ hello.c
编译还是会出现parse error before "UTS_RELEASE")
然后把hello.o下载到S3ceb2410的板上/tmp目录,执行insmod ./hello.o
错误信息为couldn"t find  the kernel version the module was complier for
(3)按照网上的文章修改了version相关的一切,都不行.就是insmod不了

请问一下这究竟是什么回事啊?
我现在猜测是不是文件系统的原因,板上的linux内核是用make zImage做出来的(也不知道是什么文件系统)
是不是只有某种文件才能对模块 insmod rmmod?
各位的任何意见我都感谢啊)
#define MODULE
#include
init init_module(void){
printk ("<1>Hello");
return 0;
}
void cleanup_module(void){
printk("<1>Bye");
}
在RedHat9用gcc编译后可以 insmod,rmmod

上面的程序用arm-linux-gcc编译时,出现了几个问题:
(1)直接编译通不过   arm-linux-gcc -c hello.c  错误信息是parse error before "UTS_RELEASE"
(2)于是修改程序 先写#include ,再写#define MODULE
arm-linux-gcc -c hello.c 无错误信息出现了  (如果用arm-linux-gcc -c -D__KERNEL__ hello.c
编译还是会出现parse error before "UTS_RELEASE")
然后把hello.o下载到S32410的板上/tmp目录,执行insmod ./hello.o
错误信息为couldn"t find  the kernel version the module was complier for
(3)按照网上的文章修改了version相关的一切,都不行.就是insmod不了

请问一下这究竟是什么回事啊?
我现在猜测是不是文件系统的原因,板上的linux内核是用make zImage做出来的(也不知道是什么文件系统)
是不是只有某种文件才能对模块 insmod rmmod?
各位的任何意见我都感谢啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-5 02:15 , Processed in 0.039869 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表