gpt4 book ai didi

linux - fedora linux --- 编译第一个 linux 模块

转载 作者:IT王子 更新时间:2023-10-29 00:36:03 29 4
gpt4 key购买 nike

在 Fedora linux 中编译我的第一个内核模块时出错。

源代码:--

#include <linux/module.h>       /* Needed by all modules */
#include <linux/kernel.h> /* Needed for KERN_INFO */
#include <linux/init.h> /* Needed for the macros */
static int __init hello_start(void)
{
printk(KERN_INFO "Loading hello module...\n");
printk(KERN_INFO "Hello world\n");
return 0;
}
static void __exit hello_end(void)
{
printk(KERN_INFO "Goodbye Mr.\n");
}
module_init(hello_start);
module_exit(hello_end);

生成文件:----

obj-m = hello.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

编译时出错:--

$ make
make -C /lib/modules/3.8.6-203.fc18.x86_64/build M=/home/dinesh/development/linux/kernel_modules/hello modules
make: *** /lib/modules/3.8.6-203.fc18.x86_64/build: No such file or directory. Stop.
make: *** [default] Error 2

现在,如果我看到构建是否存在,我就会关注 o/p。构建显示为软链接(soft link):---

$ ls -l /lib/modules/3.8.6-203.fc18.x86_64/
total 2632
lrwxrwxrwx. 1 root root 38 Apr 15 21:32 build -> /usr/src/kernels/3.8.6-203.fc18.x86_64
drwxr-xr-x.

I got same error even after installing, kernel-devel :--

我的 makefile 是正确的,它在规则之前有正确的制表符。请建议如何解决此错误?

最佳答案

正如guido所说,你必须匹配你当前的内核和kernel-devel包。

让你的内核版本运行

uname -r

我得到 3.6.10-4.fc18.x86_64,下载那个 kernel-devel 版本

sudo yum install kernel-devel-3.6.10-4.fc18

或者更新你的系统并使用新内核启动,我相信这两者会自动匹配。

关于linux - fedora linux --- 编译第一个 linux 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16918031/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com