当我尝试在我的自定义内核上运行make install时,我得到以下错误 -

root@localhost [ /home/avi/dd/labs/lab1_compile_and_load ]$ make install V=1

make -C /lib/modules/3.12.17/build SUBDIRS = / home / avi / dd / labs / lab1_compile_and_load modules_install

make[1]: Entering directory `/home/avi/kernel/linux-3.12.17'
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (        \
echo >&2;                           \
echo >&2 "  ERROR: Kernel configuration is invalid.";       \
echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";  \
echo >&2 ;                          \
/bin/false)
mkdir -p /lib/modules/3.12.17/extra
make -f /home/avi/kernel/linux-3.12.17/scripts/Makefile.modinst
  /bin/sh /home/avi/kernel/linux-3.12.17/scripts/depmod.sh /sbin/depmod 3.12.17 ""
make[1]: Leaving directory `/home/avi/kernel/linux-3.12.17'

我的Makefile的内容如下:

obj-m := lab1_char_driver.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)

all:
        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD)  modules
install:
        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD)  modules_install

clean:
        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD)  clean

我按照错误消息中的建议尝试'make oldconfig && make preapare',但无济于事。 我在fedora20和ubuntu12.04上都尝试了这个。 如果做一个Make然后它工作正常但安装失败。 请帮忙。 任何相关的答案将不胜感激。

===============>>#1 票数:4

您正在包含V=1 ,这会导致Make在运行时显示命令( 请参阅此问题 )。 从它的外观来看,你实际上并没有看到错误本身,但是你正在看它正在运行的测试来检查这些文件是否存在:

test -e include/generated/autoconf.h -a -e include/config/auto.conf || ( \\ ... echo error messages here ... \\ )

该测试正在运行,如果失败,它会将这些消息回显为标准错误,但事实并非如此。 如果您的模块没有构建它可能是由于其他一些问题。

  ask by avee137 translate from so

未解决问题?本站智能推荐:

2回复

编译内核模块linux / module.h时出错:找不到这样的文件或目录

我正在使用一个简单的示例来创建Hello World Kernel模块。 下方连结: http : //www.thegeekstuff.com/2013/07/write-linux-kernel-module/ 尝试在与hello.c相同的目录中使用“ make hello”运行ma
1回复

如何使用额外的include路径(包括外部头文件,yaml,boost等库文件)构建树外linux模块

我正在尝试构建树外的Linux内核,该内核应考虑到来自预编译和安装的自定义库的外部头文件。 我的linux模块将通过C接口使用共享库中的函数。 如何防止内核Makefile存在此类文件? 那么如何在上面的$(MAKE)行中包含它呢? 在此先感谢,Rgds sahbi
1回复

尝试将模块加载到内核时出错

我正在尝试通过运行以下命令将内核模块加载到内核中, 这是我得到的错误: 也许有人可以帮助我。 感谢所有帮助。
6回复

make命令中的M选项,Makefile

M ='pwd'在上面的行中是什么意思? 我无法理解这个解释: 在尝试构建模块目标之前,M =选项会使makefile移回模块源目录。 你能说得更清楚吗?
1回复

构建Linux内核模块时遇到的问题

我已经在VMWare上安装了Ubuntu。 我的目的是在其中构建内核模块。 我是初学者。 我已经写了一个基本模块。 但是我无法使用“ Makefile”进行编译。 我需要解决什么? C文件的内容(kernel.c): 生成文件的内容:
2回复

编译linux内核的make文件时出问题?

我刚开始使用linux内核开发,我遇到编译make文件的问题。 这是你好世界的教程。 我的hello-1.c文件 我的Makefile 这个文件都在文件夹/ home / kkr / Documents / HelloWorld中 当我运行make命令时,我的输
1回复

使用两个源文件编译内核模块时出错

我正在尝试编译具有两个.c文件的内核模块。 我的Makefile如下 当我运行这个我得到 似乎Makefile现在不知道在哪里可以找到标头。 我曾尝试使用CFLAGS添加include目录,但是其中有很多目录变得繁琐且难以执行(无法使其正常运行)。 我想使用包含目录
3回复

为Linux内核的简单hello world模块生成.ko文件时出错

我是linux内核开发的初学者,并试图在linux中加载一个简单的模块。 我创建了一个hello.c文件,将其作为内核模块加载。 这个hello.c和makefile都保存在/ home / linux /目录中。 生成文件 生成.ko文件,当我从/ home
2回复

在内核中构建hello world模块时出错

MAKEFILE make命令后,我收到以下错误。 这个错误的原因是什么?我该如何解决这个问题?
1回复

在不同的子目录中创建/构建多个内核模块

我想通过执行一个Makefile来创建多个内核模块。 我有以下目录和文件: 顶级目录: subdir0: module0.c Makefile文件 subdir1: mod