编译Linux内核错误xt_CONNMARK.h [英] Compiling Linux Kernel Error xt_CONNMARK.h

查看:32
本文介绍了编译Linux内核错误xt_CONNMARK.h的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

出于非常特殊的原因,我正在尝试使用内置于内核中的多个模块来编译Linux 2.6.32.6内核.我在NFS上包括了根文件系统,以尝试通过LAN引导我自己的自定义应急Live-CD.包括ROOT_NFS所需的依赖项和模块后,我尝试使用 make bzImage 编译Linux内核.当它运行时,我会得到错误

I am attempting to compile the Linux 2.6.32.6 kernel with several modules built into the kernel for a very specific reason. I have included Root file system on NFS in an attempt to PXE Boot my own custom rescue Live-CD over LAN. After include the dependencies and module required for ROOT_NFS, I attempt to compile just the Linux kernel with make bzImage. When this runs I get the error

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的依赖项,但是此错误仍然不断发生.

Now I have tried disabling the Netfilter modules in the configuration and tried to find any dependencies that make require Netfilter, but this error still keeps occurring.

解决该错误的任何建议都很好.

Any suggestions for resolving this error would be great.

推荐答案

这很可能是因为由于通过不区分大小写的文件系统传输而从源树中丢失了一些文件.在Linux源代码树中,不同时间大约有15个不同的文件被命名为相同的文件,但大小写不同.对于所有构建Linux内核的人来说,这通常不是问题,因为所有合理的文件系统都区分大小写.

This is most likely because you have lost some files from your source tree due to being transferred through a filesystem which is case-insensitive. There are approximately 15 different files in the Linux source tree from various times which are named the same, but have different capitalization. This isn't normally a problem for people who build Linux kernels, because all reasonable filesystems are case-sensitive.

对于那些好奇的人,这种方式的文件都在netfilter树中-参见 include/linux/netfilter/xt_CONNTRACK.h include/linux/netfilter/例如v3.0中的xt_conntrack.h .

For those that are curious, the files that are this way are all in the netfilter tree - see include/linux/netfilter/xt_CONNTRACK.h vs. include/linux/netfilter/xt_conntrack.h in v3.0 for example.

因此,这些文件确实存在,但是您丢失了它们.获取一个新的源代码树,将其解压缩到区分大小写的文件系统上,您将不再有此错误.或者,如果您担心丢失对自己的修改的恐惧,请从原始"源树或内核的 github镜像复制文件.树-它们很可能不会与您正在编译的版本中的发行版相同.

So, those files do exist, but you lost them. Get a new source tree, unpack it on a case-sensitive filesystem and you won't have this error anymore. Alternatively, copy the files from a "pristine" source tree or the github mirror of the kernel if you are afraid of losing modifications to your tree - they most likely aren't changed from release in the version you're compiling.

这篇关于编译Linux内核错误xt_CONNMARK.h的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆