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

标签 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 ~]$ 

请建议我需要做什么

最佳答案

嗯......你的内核问题不是你的程序......检查/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/

相关文章:

c++ - 用一种语言编写的代码如何被另一种语言调用

c++ - 模板函数如何根据类型在编译时修改它的行为?

java - 检查控制台-计算机或程序错误?

c++ - 检测 Spirit 语义 Action 中的参数类型

java - Java 枚举定义有什么问题

linux-kernel - 调试Linux内核预解压阶段

c# - 手动编译包含多个文件、库的完整 C# 项目

linux - 我想计算在 C 中调用了多少次系统调用

linux - 是否有任何用户级命令来检查内核镜像是否支持 Linux 中的 NETLINK?

c++ - 如何检查哪些项目依赖于 .cpp 文件?