gpt4 book ai didi

android - 第二阶段引导加载程序需要什么?为什么不同的引导加载程序如第一阶段和第二阶段?

转载 作者:IT王子 更新时间:2023-10-29 00:57:38 25 4
gpt4 key购买 nike

我知道第一阶段引导加载程序将进行基本的硬件初始化并调用第二阶段引导加载程序,如 u-boot。但是我仍然不明白为什么我们需要多阶段的引导加载程序。

为什么我们不能只有一个引导加载程序,我们可以在其中闪存单个镜像来初始化硬件?只有一个阶段的引导加载程序直接加载内核镜像会有什么缺点?为了更清楚地使用 ARM CORTEX A8 for beagle bone black,我将 MLO、U 引导和内核镜像放在引导部分中,据我所知,第一阶段引导加载程序初始化外部 RAM,其中 U-boot 被复制,它初始化了更多的外围设备,为什么我不能直接获取内核镜像而不是第二阶段引导加载程序

最佳答案

可能有几个原因。

也许您的平台对引导加载程序的大小有限制?这是时间和灵 active 之间的权衡。您可能需要一个非常基本的引导加载程序来加载一个更复杂的引导加载程序。

例如,您可能希望从文件系统加载操作系统。处理文件系统的代码可能不适合您的第一个引导加载程序,但加载第二个引导加载程序的代码却适合。您可以将所有文件系统代码放在第二个引导加载程序中,这样您就可以更灵活地让第一个引导加载程序加载它。

另一个原因可能是引导加载程序的可升级性。引导加载程序并不完美,可能存在错误。您可以将第一个引导加载程序配置为加载第二个引导加载程序和一些恢复实用程序。然后你可以把第一个引导加载程序放到 ROM 上,再也不用碰它了。如果发现错误,只需升级第二阶段引导加载程序即可。如果您使系统变砖,您仍然拥有用于恢复的第一个引导加载程序。

如果您愿意,这还可以让您稍后将新功能包含到您的第二个引导加载程序中。

关于android - 第二阶段引导加载程序需要什么?为什么不同的引导加载程序如第一阶段和第二阶段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22455153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com