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



我在Macbook Pro的VirtualBox上安装了Fedora 18,想看看内核编译是否正常。

在安装Fedora之后,我使用以下命令更新了内核源代码等

yum install kernel-devel
yum install kernel-headers
yum insall kernel-doc
yum install man

我的Kernel版本是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来检查最新的内核版本。现在尝试构建您的模块…它将成功执行……好运。

最新更新