[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: u-boot vs. uefi as boot loaders on ARM
On Sun, Aug 16, 2020 at 7:54 AM Julien Grall <julien@xxxxxxx> wrote: > On 15/08/2020 21:43, Roman Shaposhnik wrote: > > Hi! > > Hi, > > > with the recent excellent work by Anastasiia committed to the u-boot's > > main line, we now have two different ways of bringing ARM DomUs. > > > > Is there any chance someone can educate the general public on pros > > and cons of both approaches? > > > > In Project EVE we're still using uefi on ARM (to stay closer to the more > > "ARM in the cloud" use case) but perhaps the situation now is more > > nuanced? > > UEFI is just standard, so I am guessing you are referring to > Tianocore/EDK2. am I correct? Yes, but I was actually referring to both in a way (I should've been clearer tho). To be more explicit my question was around trying to compare a "standardized" way of botting a generic DomU on ARM (and that standard is UEFI with one particular implementation that works out of the box with Xen being TC/EDK2) with a more ad-hoc u-boot style of booting. > Recent version of U-boot are also able to partially UEFI. This means you > could easily use GRUB with U-boot. Yup -- which complicated things even more. And it is funny you should mention it, since we actually started with TC/EDK2 for RaspberryPi4 as a board bootloader, but quickly switched to u-boot with UEFI shim layer, since it was much smaller, better supported (still?) and gave us all we needed to boot Xen on RPi4 as a UEFI payload. > From my understanding, U-boot is just a bootloader. Therefore it will > not provide runtime services (such as date & time). It actually does provide some of that (see below) > Furthermore, the > interface is less user friendly, you will have to know the memory layout > in order to load binaries. > > On the other hand, Tianocore/EDK2 is very similar to what non-embedded > may be used to. It will not require you to know your memory layout. But > this comes at the cost of a more complex bootloader to debug. That's literally the crux of my question -- trying to understand what use cases either one of them is meant for. Especially given that this shim layer is now quite capable: https://github.com/ARM-software/u-boot/blob/master/doc/README.uefi#L127 Thanks, Roman.
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |