1

我正在尝试为带有 vortexX86DX 处理器的嵌入式板准备优化的工具链/操作系统。

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

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

request_module: runaway loop modprobe binfmt-464c

我无法理解新内核有什么问题。仅在尝试加载用于加载不兼容精灵的模块时才会发生上述错误。虽然这里没有不兼容...使用 i586 优化编译的内核(包含 x86 通用代码和 elf 仿真器)应该能够加载initi386 架构...

如果这很重要,编译内核的体系结构是:

file ./vmlinux.o 
./vmlinux.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
4

2 回答 2

1

为您搜索:request_module: runaway loop modprobe binfmt-464c
它尝试加载 binfmt-464c,但 modprobe 本身是 ELF,因此要运行 modprobe,它首先需要 binfmt-464c。可能的解决方案是将模块包含在内核构建中。

于 2012-08-31T23:54:51.463 回答
0

不知何故,您的交叉编译工具链在某处生成了不同于 i386 预期的其他架构二进制文件。您不仅应该检查内核,还应该检查内核正在调用的“init”、“shell”和其他命令,因为其中一个不是 i386,并且您的内核会尝试加载一个模块来模拟和运行它。

于 2019-06-07T13:52:29.027 回答