首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在x86上引导Linux与在ARM上引导Linux有什么不同?

在x86上引导Linux与在ARM上引导Linux有什么不同?
EN

Stack Overflow用户
提问于 2014-03-27 22:08:25
回答 1查看 1K关注 0票数 0

我正在尝试理解在x86和ARM架构上引导linux过程,并想知道在x86上引导linux和在ARM上引导linux之间的区别。

我在x86上浏览了linux引导协议,发现内核是分两步加载的。

https://www.kernel.org/doc/Documentation/x86/boot.txt

1)加载实模式内核代码,分配命令行参数。

2)加载保护模式(非实数)内核代码。

是不是因为x86架构中不寻常的地址空间?

我在ARM端没有看到这样的行为,在ARM端,linux Image作为一个整体被加载到CPU地址中,映射到连续位置的逻辑内核空间。

有没有人能告诉我这两种架构上的linux启动过程?

EN

回答 1

Stack Overflow用户

发布于 2014-03-27 23:29:19

在x86上执行两步操作的原因是因为您提到的实模式切换。为了保持与“实”x86软件的向后兼容性,所有的x86处理器最初都是在实模式下出现的,实际上在这种模式下一切都是相当有限的(可寻址内存、寄存器大小等)。)。因此,最初使用的是最小的负载,它只是切换到保护模式,绕过一些旧的黑客(http://www.win.tue.nl/~aeb/linux/kbd/A20.html),然后加载一个合适的操作系统。

arm不会受到这类事情的阻碍,因为他们比Intel作为32位机器起步晚,所以在Arm上要处理的遗留问题更少。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22690110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档