Architecture 由于奇怪的模块循环,交叉编译的内核无法启动

Architecture 由于奇怪的模块循环,交叉编译的内核无法启动,architecture,linux-kernel,cross-compiling,Architecture,Linux Kernel,Cross Compiling,我正试图为带有vortexX86DX处理器的嵌入式主板准备一个优化的工具链/操作系统 我的电脑的架构是x86_64。所以我可以使用cross NG编译一个交叉编译器。然后使用该编译器编译了带有Xenomai补丁的linux 2.6.38.8(用于rt内核模块)。该内核计划替换当前内核。目前debian 6.0.4 i386的默认内核已安装在板上 编译后的内核无法启动,出现以下错误: request_module: runaway loop modprobe binfmt-464c 我无法理解新

我正试图为带有vortexX86DX处理器的嵌入式主板准备一个优化的工具链/操作系统

我的电脑的架构是x86_64。所以我可以使用cross NG编译一个交叉编译器。然后使用该编译器编译了带有Xenomai补丁的linux 2.6.38.8(用于rt内核模块)。该内核计划替换当前内核。目前debian 6.0.4 i386的默认内核已安装在板上

编译后的内核无法启动,出现以下错误:

request_module: runaway loop modprobe binfmt-464c
我无法理解新内核有什么问题。只有在尝试加载用于加载不兼容ELF的模块时,才会出现上述错误。虽然这里没有不相容的地方。。。使用i586优化编译的内核(包含x86通用代码和elf模拟器)应该能够加载i386体系结构的
init

在这种情况下,编译内核的体系结构是:

file ./vmlinux.o 
./vmlinux.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
谷歌为您搜索:
它试图加载binfmt-464c,但modprobe本身是一个ELF,所以要运行modprobe,它首先需要binfmt-464c。可能的解决方案是在内核构建中包含该模块。

用谷歌搜索它:

它试图加载binfmt-464c,但modprobe本身是一个ELF,所以要运行modprobe,它首先需要binfmt-464c。可能的解决方案是在内核构建中包含该模块。

不知何故,您的交叉编译工具链在某个地方产生了i386预期之外的其他二进制体系结构。您不仅应该检查内核,还应该检查内核正在调用的“init”、“shell”和其他命令,因为其中一个命令不是i386,并且您的内核试图加载一个模块来模拟和运行它。

不知何故,您的交叉编译工具链在某个地方产生了与i386不同的二进制体系结构。您不仅应该检查内核,还应该检查您的内核正在调用的“init”、“shell”和其他命令,因为其中一个不是i386,您的内核试图加载一个模块来模拟和运行它。

我知道binfmt和模块无限循环。问题是为什么内核尝试加载binfmt?因为内核被配置为将这个binfmt作为模块包含,也许?我知道binfmt和模块无限循环。问题是为什么内核试图加载binfmt?因为内核被配置为将这个binfmt作为模块包括在内,也许?