您编写的用于提供 procfs 接口(interface)的函数只是作为 LKM 源代码一部分的代码。
http://linux.die.net/lkmpg/x769.html有一个使用 procfs 的简单示例,转载于此:
我从上面的链接复制了代码 - 您将在 http://www.cyberciti.biz/tips/compiling-linux-kernel-module.html 找到构建内核模块的教程。 .总结如下:
1) 确保您在/usr/src 中安装了内核源代码。
2) 创建一个如下所示的 makefile:
obj-m = procfs2.o
KVERSION = $(shell uname -r)
all:
make -C /lib/modules/$(KVERSION)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(KVERSION)/build M=$(PWD) clean
3) 使用命令 make 构建模块 4) 使用命令 insmod procfs2.ko 将模块加载到内存中(以 root 用户执行此操作)
我复制了代码并创建了 MAKEFILE,稍后如果我从控制台发出 make 命令,那么它会显示为:make: nothing to be done for all。有人可以告诉我可能是什么错误吗??
最佳答案
这是内核模块的 Makefile 示例。
这里需要注意的是,下面显示的点必须用TAB代替,用空格代替会导致Makefile出现故障。
obj-m += hello.o
all:
.......make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
.......make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
关于c - 可加载内核模块错误 make : nothing to be done for all?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23100878/