Fedora 18上的内核编译错误(在Macbook上的VirtualBox上)

时间:2013-04-14 23:00:53

标签: compilation compiler-errors linux-kernel kernel fedora

我在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 ~]$ 

请建议我需要做什么

1 个答案:

答案 0 :(得分:0)

嗯...你的内核问题不在你的程序中.....检查/usr/lib/modules/3.6.10-4.fc18.x86_64中是否存在构建目录。如果是那么点击它是否可访问....我相信它不会在那里,你更新你的内核部分而不是内核本身。尝试使用这个命令“yum install update kernel”没有引用,它将更新你的内核...你可以在/usr/lib/modules...so中安装后检查后期版本内核文件夹当你做uname -r时它会仍然显示你以前的内核...所以重启它...然后执行uname -r检查运行的最新内核版本...现在尝试构建你的模块......它将成功执行...祝你好运。