![为什么 autoconf.h 没有自动复制到它的位置?](https://linux22.com/image/35905/%E4%B8%BA%E4%BB%80%E4%B9%88%20autoconf.h%20%E6%B2%A1%E6%9C%89%E8%87%AA%E5%8A%A8%E5%A4%8D%E5%88%B6%E5%88%B0%E5%AE%83%E7%9A%84%E4%BD%8D%E7%BD%AE%EF%BC%9F.png)
我正在安装干净的 Debian 7.7。安装后,除了 Iceweasel 浏览器中的网络摄像头外,一切正常。经过大量阅读后,我发现最好的解决方案是安装闪光灯1.4.5。
After downloading the sources, I did a make and got an error:
ERROR: Kernel configuration is invalid.
include/generated/autoconf.h or include/config/auto.conf are missing.
Run 'make oldconfig && make prepare' on kernel src to fix it.
WARNING: Symbol version dump /usr/src/linux-headers-3.2.0-4-common/Module.symvers
is missing; modules will have no dependencies and modversions.
Building modules, stage 2.
读了一些东西,发现我必须安装内核源并准备编译:
apt-get install linux-source linux-source-3.2
tar jxf /usr/src/linux-source-3.2.tar.bz2
cd linux-source-3.2
cp /boot/config-3.2.0-4-amd64 ./.config
make oldconfig
make prepare
linux-sources
现在我的本地文件夹 ( )中有一个 autoconf.h 文件,linux-sources/include/generated/autoconf.h
但在*/usr/src/linux-headers-3.2.0-4-common/include/*
我假设的 FlashCam 源正在查找的文件夹中却没有。我现在应该怎么做?手动复制这个文件夹有点可怕,我找不到其他说明来使其工作。
答案1
构建树外内核模块的最新说明是这里。将内核配置标头安装到系统包含目录不是该过程的一部分。相反,您make
从内核源代码树内部调用并使用参数将其指向模块的源代码树M=
。
FlashCam 已经有一段时间没有更新了,因此如果不进行一些移植工作,可能无法针对最新的内核构建它。