如何在软硬件上为RISC-V引导程序提供设计方案
-
目前的引导程序会和操作系统放在同一个存储介质中。以U-Boot为例,分区后放入SD卡。这种设计的缺点是:存储介质和主板绑定较强。比如主板A有多大的屏幕,主板B没有,当计算条从主板A拔下来插入主板B,理论上就需要重新烧写对应的引导程序。现在的U-Boot通过魔改来绕过这个做法,但这样无法促进引导程序架构的发展。
一种新的做法是,以主板绑定的介质存储引导程序。这样面对计算条应用,只需要在计算条的介质中安装操作系统本身即可,通过底板的引导程序去启动它。比如,在两个主板上分别设计16MB左右的闪存,它存储一个RISC-V架构的引导程序,分别为计算条上的操作系统指示各个主板上的资源,这对硬件的替换和更新是有利的,因为如果计算条损坏或升级,直接替换新的即可,无需重新刷引导程序和系统,无论计算条的操作系统以SD卡或者eMMC芯片为存储方式。
这种做法为硬件的升级提供极大的便利,如果它成为未来RISC-V单板计算机的标准配置,我决定在Oreboot和RustSBI引导路线中使用这一点。它的优点是:可以无缝升级和替换硬件,较大地提升用户体验。
缺点是:至少需要一个闪存芯片的物料成本。如果没有更换计算芯片的兼容需求,成本不如只在eMMC/SD卡中分区的老操作低。主板上集成引导程序用的闪存芯片有以上的优势和劣势。事实上,这个设计在PC机的早期已经形成。
我们通常在移植操作系统和软件上花费较多的精力,而对引导程序这一操作系统的信任根却常吃“嗟来之食”,持续地缺乏引导程序方面的创新和带头能力。我常为国产软件在世界上的话语权而效力奔波,也成功地为RISC-V的国际标准提出过提案,希望看到RISC-V引导程序成为国产软件、开源软件从跟跑到领跑的突破点。要看到这一天到来,希望从业者们和开源社区在未来能有长期的共同努力。
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号