在64位Linux操作系统上编译32位内核

时间:2015-01-26 15:50:28

标签: linux-kernel

我在64位ubuntu上编译了32位内核并安装了它。但是当我试图从它启动时,它给了我一个错误:

  

无法执行/ init

     

内核恐慌 - 未同步:未找到初始化

并且Caps Lock指示灯仍然闪烁。

但是当我尝试从原来的64位内核启动时,它成功启动了。请告诉我背后的原因并解决这个问题。

1 个答案:

答案 0 :(得分:1)

只有内核才能做很多事情。一旦内核完成引导,它就会调用外部进程(称为init),该进程从用户空间开始启动其他服务和进程,以便到达功能系统。这包括安装文件系统,配置一些热插拔设备,启动网络服务,当然还有提供登录屏幕。

64位操作系统可以运行64位和32位二进制文​​件。 32位操作系统只能运行32位二进制文​​件。您的系统(包括init)似乎是一个64位系统。因此,您的32位内核在启动后将无法执行任何操作,因为所有必需的系统实用程序都是以64位模式编译的。

我想不出有什么理由想要在64位分发版上“降级”到32位内核,即使它是可能的。