0

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

请建议我需要做什么

4

1 回答 1

0

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

于 2013-05-22T17:34:55.567 回答