当我尝试在自定义构建的内核上运行make install时,出现以下错误-
root@localhost [ /home/avi/dd/labs/lab1_compile_and_load ]$ make install V=1
制作-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上都尝试过此方法。如果执行do Make则工作正常,但make安装失败。请帮忙。任何相关的答案将不胜感激。
最佳答案
您包括的V=1
会导致Make在运行命令时显示命令(see this question)。从外观上看,您实际上并没有看到错误本身,但是您正在查看测试它是否正在运行以检查那些文件是否存在:test -e include/generated/autoconf.h -a -e include/config/auto.conf || ( \... echo error messages here ... \)
该测试正在运行,如果失败,它将回显那些标准错误的消息,而不是标准错误。如果您的模块无法构建,则可能是由于其他一些问题。
关于c - 运行make install时出错-缺少include/generated/autoconf.h或include/config/auto.conf,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23184181/