我在 Macbook Pro 上的 VirtualBox 上安装了 Fedora 18,想看看内核编译是否工作正常。
安装 Fedora 后,我使用以下命令更新了内核源等
yum install kernel-devel
yum install kernel-headers
yum insall kernel-doc
yum install man
我的内核版本是 3.8.6-203.fc18.x86_64
我曾尝试使用一个简单的 Hello World 程序进行内核编译,如下所示
/*
* hello-1.c - The simplest kernel module.
*/
#include <linux/module.h> /* Needed by all modules */
#include <linux/kernel.h> /* Needed for KERN_INFO */
int init_module(void)
{
printk(KERN_INFO "Hello world 1.\n");
/*
* A non 0 return means init_module failed; module can't be loaded.
*/
return 0;
}
void cleanup_module(void)
{
printk(KERN_INFO "Goodbye world 1.\n");
}
当我尝试使用以下命令进行编译时,出现以下错误
[seemabhat@localhost ~]$ make
make -C /lib/modules/3.6.10-4.fc18.x86_64/build M=/home/seemabhat modules
make: *** /lib/modules/3.6.10-4.fc18.x86_64/build: No such file or directory. Stop.
make: *** [all] Error 2
[seemabhat@localhost ~]$
请建议我需要做什么
最佳答案
嗯......你的内核问题不是你的程序......检查/usr/lib/modules/3.6.10-4.fc18.x86_64 中是否存在构建目录..或者如果它在那里通过单击它是否可以访问....我相信它不会在那里,您更新了内核部分而不是内核本身。尝试使用此命令“yum install update kernel”不带引号,它将更新您的内核...您可以在/usr/lib/modules 中安装后检查最新版本的内核文件夹...所以当您执行 uname -r 时,它将仍然显示您以前的内核...所以重新启动它...然后执行 uname -r 检查正在运行的最新内核版本...现在尝试构建您的模块...它将成功执行...祝您好运。
关于compilation - Fedora 18 上的内核编译错误(在 Macbook 上的 VirtualBox 上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16005361/