-
Notifications
You must be signed in to change notification settings - Fork 18
Create design docs similar to slimbootloader #10
Comments
That's a great suggestion. I'll follow-up. We did some exploration of different flows in OCP OSF https://docs.google.com/document/d/1DWFdPrZlifSxznirN4r5QemmBEi6-1Fpfy0lac77arQ/edit but the Slimbootloader you mention provides a clean approach for this. Also, the payload concept of Slimbootloader, like coreboot, provides a nice demarcation between platform initialization and the OS boot loader environment. |
Hi SBL follows the concept of platform initialization followed by OS boot logic code through a payload. While the SBL repo contains support for Apollolake platform (Atom), we are planning to add support for more projects including Whiskleylake/Coffeelake (core), etc this year. We did a POC to test SBL scalability for microserver platforms using Denverton SOC and the code is available here https://github.com/rprangar/ModernFW/tree/SBL_DNV_POC This POC also includes a small prebuilt linux kernel as part of the flash and will boot to it by default. SBL can launch an UEFI payload - https://github.com/tianocore/edk2/tree/master/UefiPayloadPkg to boot an UEFI OS as well. Thanks |
So... we fork ModernFW, change 8,756 files with 751,718 additions and 2,228,047 deletions, and we end up with... SlimBootLoader... which will not be integrated back into ModernFW? Is there a convergence plan then, or 2 separate projects with some overlapping goals, but some different (which is not clear at this time). |
My understanding about the over arching goal for Modern FW is simplicity - to cater to certain classes of systems/use cases. How ModernFW will evolve is an open in my opinion (emphasis on my opinion). In that context, SBL POC was provided as an example of a design where platform initialization and OS boot are handled in different stages/phases. While platform initialization is the common/minimum requirement, the OS boot logic can be customized to cater to different use cases. As I posted in my previous reply Linux direct boot and UEFI both can be supported with SBL. BTW, the number of changes may be skewed – since SBL inherits only a small subset of the EDK2 codebase, I deleted the whole tree and dropped the SBL POC code in. That is why the code is in a fork. |
Slimbootloader has some nice docs, see https://slimbootloader.github.io/developer-guides/boot-flow.html#end-to-end-call-graph
It would be nice if ModernFW had similar docs including a slimbootloader compare/contrast. Many of the goals seem aligned, but perhaps ModernFW prefers steeply vertical over Extensible & Configurable? Though, why can't those be build options in slimbootloader? Seems like significant duplication of effort.
The text was updated successfully, but these errors were encountered: