以前一直以为ONIE仅仅支持X86平台,想想也觉得奇观,既然是开放开源的系统,为什么和X86绑定呢?很多开源的东西,在受到业界关注的时候,即使开始的时候是平台绑定的,由于开源提供了检查源代码实现方式的机会,慢慢的社区也会将其移植到其他平台上。 ONIE作为一种开放网络操作系统安装环境Open Network Install Environment,开始的时候也是绑定在X86系统上的,它的主要作用在于安装、卸载、选择要启动的网络操作系统NOS。 X86系统的启动过程有固定的顺序,CPU启动以后执行的指令位于BIOS中,接下来的代码对硬件进行自检和初始化、寻找主引导扇区、载入目标操作系统并最终将控制器转移给操作系统内核。UEFI模式解决了原来BIOS模式的一些技术限制,支持更大的硬盘,支持更块的启动速度。UEFI通过一个特殊的EFI分区中存储的.efi文件来执行引导过程。 UEFI模式是X86世界的公开的规范,ONIE最初支持UEFI而和X86架构绑定了。在其他嵌入式CPU架构下,由于通常都是封闭的系统,从BSP开始的系统引导代码到嵌入式软件的执行过程往往也是固定的,通常基于PowerPC和ARM芯片的嵌入式系统会采用基于Uboot的Boot Loader,通过Uboot引导系统,然后启动目标操作系统,ONIE对这些系统的支持是通过Uboot引导到ONIE,然后再引导到目标操作系统。中间虽然多了一个步骤,但好处是统一了不同平台的操作维护界面,方便运维,从这个角度说还是很有意义的。
标签:ONIE,X86,SONiC,绑定,系统,UEFI,引导,ARM From: https://www.cnblogs.com/qiuzhiqiuzhi/p/17500976.html