我试图编译Linux 2.6.32.6内核,并将几个模块嵌入内核,以实现一个非常特定的目的。我已经包含了NFS根文件系统,试图通过局域网PXE引导自己的定制救援Live-CD。在包含ROOT_NFS所需的依赖项和模块后,我尝试仅编译Linux内核使用make bzImage
。然而,运行时出现错误。
make[4]: *** No rule to make target './linux-2.6.32.6/include/linux/netfilter/xt_CONNMARK.h', needed by './linux-2.6.32.6/usr/include/linux/netfilter/.install'. Stop.
我已经尝试在配置中禁用Netfilter模块,并尝试查找可能需要Netfilter的任何依赖项,但这个错误仍然持续发生。
如果有解决此错误的建议,将不胜感激。
make clean
或手动删除Makefile
的依赖信息。你的问题似乎非常熟悉,但我不记得具体是什么问题了。它可能与make O=...
有关。 - artless noisext_CONNMARK.h
有两个条目。失败的一个全是大写字母,而另一个全是小写字母。遇到了几个类似的情况,但是一旦我移除了所有的事件(总共约5个),系统就成功编译和启动了。 - Blackninja543.config
或类似的东西。可能与编译器有关。 "C" 文件中包含#include<xt_connmark.h>
,文件名为xt_CONNMARK.h
或类似的名称。很抱歉,我无法确定它,但我确实遇到了类似这个文件的问题。 依赖项是使用gcc
自动生成的,因此它可能会创建一个混合大小写的依赖项规则,查看#include
而不是实际打开的文件。 - artless noise