我知道第一阶段的引导装载程序会进行基本硬件初始化,并调用第二阶段的引导装载程序,例如u-boot。但是我仍然不明白为什么我们需要多个阶段的引导装载程序。
为什么我们不能只有一个引导装载程序,在其中闪存单个映像以初始化硬件?如果只有一个引导装载程序阶段直接加载内核映像,会有什么缺点呢? 为了更清晰地说明,我正在使用ARM CORTEX A8开发Beagle Bone Black,在引导区域中放置MLO、U-Boot和内核映像,据我所知,第一阶段引导装载程序初始化外部RAM,其中复制了U-Boot,它又初始化了更多的外设,那为什么我不能直接选择内核映像而不使用第二阶段的引导装载程序呢?