问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Linux动态模块怎样编译?

发布网友 发布时间:2022-04-23 00:50

我来回答

3个回答

热心网友 时间:2022-05-01 17:53

这个需要编写Makefile文件
首先说一下你的程序有错误:下面这个是我改的,
first.c:
#include<linux/mole.h>
#include<linux/init.h>
static int __init hello_init(void) {
printk(KERN_ALERT "Hello,kernal\n");
return 0;
}
static void __exit hello_exit(void) {
printk(KERN_ALERT "Goodbye,kernal\n");
}
MODULE_LICENSE( "GPL" );
mole_init(hello_init);
mole_exit(hello_exit);
对于你这个程序,我写了一份:
obj-m := first.o #这个是要中间文件
Kernel_path=/usr/src/linux-headers-$(shell uname -r) #内核存在的路径
all:
make -C $(Kernel_path) M=$(PWD) moles
clean:
make -C $(Kernel_path) M=$(PWD) clean
像你的就该为
Kernel_path=/usr/src/linux-headers-$(shell uname -r)/build
保存后make,ok!追问make -C /usr/src/linux-headers-2.6.35-22-generic M=/home/ubuntu/kernal of linux/sy4 moles
make[1]: Entering directory `/usr/src/linux-headers-2.6.35-22-generic'
make[1]: *** No rule to make target `of'. Stop.
make[1]: Leaving directory `/usr/src/linux-headers-2.6.35-22-generic'
make: *** [all] Error 2
错误跟原来一样,我是直接用了你改过的程序和Makefile,在all和clean下一行的Tab也加了。

追答你的kernel是在/lib/moles/2.6.35-22-generic/build下
需要该Kernel_path=/lib/moles/$(shell uname -r)/build
就是Kernel_path要指向你的内核放的地方。
你这样改改再看看。。。
一般Ubuntu的内核都是在/usr/src/linux-headers-$(shell uname -r)下的。

热心网友 时间:2022-05-01 19:11

编译模块的make file 必须是Makefile,不能是makefile. //why?

ifneq ($(KERNELRELEASE),)
obj-m := your.o
mytest-objs := file1.o file2.o file3.o
else
KDIR := /lib/moles/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) moles
endif

把your换成你的source name ,然后保存为Mafefile ,make 一次就可以了。

热心网友 时间:2022-05-01 20:46

我也一直被这个问题困扰着,求解。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 宏基笔记本鼠标经常不动怎么办? linux动态库问题 为什么现在的Linux系统安装动不动就是几个G 如何让linux的服务自动启动 linux在启动的时候,需要执行什么动作? linux动态库的创建 临沂市哪里有布匹批发市场 Linux系统动鼠标黑屏原因 那里是生产布匹的集中地 linux重启动速度很慢 笔记本鼠标不动了怎么办按什么键处理? 济南的布匹批发市场在什么地方? 红旗E-HS9实车图 先睹为快 中山市的布料市场在哪里呀?坐公车怎么去? 红旗HS5到店实拍,18.38万起,配LED光源+ LCD仪表,搭载2.0T动力 红旗H9开始走红!光车长就5137mm,最低也要30.98万 苏州哪里有批发各种布料江苏苏州最大的布匹批发市场在哪里? 车展报道:红旗E-HS9实拍!高端纯电SUV市场又来搅局者? 中国有哪些布匹批发市场? 红旗E-HS9实车亮相,豪起来不输揽胜,这才是国产品牌该有的排面 linux动静分离什么意思 linux 下怎么从光盘重启动 linux下如何显示动态的gif图片??? 怎样使linux基础命令讲解的生动有趣 linux 什么时候使用 动态链接 安装Linux 出问题了,卡这不动了。。。急等 Prefix是什么意思? prefix有哪些 什么是prefix 怎么把手机里的歌曲存到电脑里? 什么叫前缀? 手机里本地音乐怎样才能上传到电脑里? 英语词性缩写中的prefix是何? prefix是什么词性 ize后缀动词,pre前缀、中缀的英语单词分别是什么? linux, configure --prefix=/有什么用 prefix作为前缀的单词 有哪些? 怎么把手机上的歌传到电脑上? CentOS操作系统中prefix参数在哪 怎样把手机微信里音乐传到电脑里?