[U-Boot] U-Boot bring-up x86 Baytrail/ multiboot2 specification

Hi,
I am just about to replace a BIOS based Intel Baytrail E3835 board with U-Boot due to ugly BIOS boottimes. Has anyone any experience with this and can give me some tips how to do this?
Additionally our system runs with an RTS Hypervisor to support 2 OS in parallel (WIN10, WEC2013). The Hypervisor runs only on bootloader with multiboot2 support. The bootloader has to load all necessary modules regarding the multiboot2 specification into storage (License, Configuration, WEC-Image).
Is this possible with u-boot? Has u-boot multiboot2 support?
https://www.gnu.org/software/grub/manual/multiboot2/multiboot.html
Best regards Mathias
________________________________
SEW-EURODRIVE GmbH & Co KG Kommanditgesellschaft, Sitz: Bruchsal, RG Mannheim HRA 230970 Komplement?rin: SEW-EURODRIVE Verwaltungs-GmbH, Sitz: Bruchsal, RG Mannheim HRB 230207
Gesellschafter: J?rgen Blickle, Rainer Blickle Gesch?ftsf?hrung: J?rgen Blickle (Vorsitzender), Udo Aull, Dr. J?rg Hermes, Dr. Hans Krattenmacher, Johann Soder, Dr. J?rgen Zanghellini

On 11/16/2018 10:00 AM, Mathias.Boos@sew-eurodrive.de wrote:
Hi,
Hi,
I am just about to replace a BIOS based Intel Baytrail E3835 board with U-Boot due to ugly BIOS boottimes. Has anyone any experience with this and can give me some tips how to do this?
+CC Stefan Roese, IIRC he did something with U-Boot on X86.
Additionally our system runs with an RTS Hypervisor to support 2 OS in parallel (WIN10, WEC2013). The Hypervisor runs only on bootloader with multiboot2 support. The bootloader has to load all necessary modules regarding the multiboot2 specification into storage (License, Configuration, WEC-Image).
Is this possible with u-boot? Has u-boot multiboot2 support?
https://www.gnu.org/software/grub/manual/multiboot2/multiboot.html
[...]

Hi,
On 16.11.18 16:46, Marek Vasut wrote:
On 11/16/2018 10:00 AM, Mathias.Boos@sew-eurodrive.de wrote:
Hi,
Hi,
I am just about to replace a BIOS based Intel Baytrail E3835 board with
U-Boot due to ugly BIOS boottimes.
Has anyone any experience with this and can give me some tips how to
do this?
Yes, using U-Boot as bootloader (without BIOS or coreboot) is definitely possible for BayTrail boards. And the boot time is definitely much better compared to usual BIOS times. I suggest you take a look at some of the available board ports and the documentation:
doc/README.x86
Minnowboard MAX should be a very good example.
+CC Stefan Roese, IIRC he did something with U-Boot on X86.
Added Bin Meng and Simon Glass, as they did most of the work for x86 U-Boot (also for BayTrail).
Additionally our system runs with an RTS Hypervisor to support 2 OS
in parallel (WIN10, WEC2013).
The Hypervisor runs only on bootloader with multiboot2 support. The bootloader has to load all necessary modules regarding the
multiboot2 specification into storage (License, Configuration, WEC-Image).
Is this possible with u-boot? Has u-boot multiboot2 support?
https://www.gnu.org/software/grub/manual/multiboot2/multiboot.html
[...]
No idea, sorry. Maybe Bin and / or Simon have some ideas here.
Thanks, Stefan

Hi all,
thanks for your quick answer. I wanted to test the u-boot option with coreboot payload on x86 first. So I built coreboot and did a target download with 2 dead devices at the end. I am just about to restore these devices (customized ones) with some difficulties in doing this ;-)...
When I have restored the devices I will continue my u-boot attempts.
I will still have another x86 board soon with Apollo Lake E3950. The board vendor told me that there is really no way to use u-boot as BIOS replacement. Has anyone experience with u-boot and Apollo Lake?
@ Bin and Simon: do you have any idea if u-boot has multiboot2 support? https://www.gnu.org/software/grub/manual/multiboot2/multiboot.html
Best regards Mathias
-----Ursprüngliche Nachricht----- Von: Stefan Roese [mailto:sr@denx.de] Gesendet: Freitag, 16. November 2018 17:02 An: Marek Vasut; Boos, Mathias; U-Boot@lists.denx.de Cc: Bin Meng; Simon Glass Betreff: Re: [U-Boot] U-Boot bring-up x86 Baytrail/ multiboot2 specification
Hi,
On 16.11.18 16:46, Marek Vasut wrote:
On 11/16/2018 10:00 AM, Mathias.Boos@sew-eurodrive.de wrote:
Hi,
Hi,
I am just about to replace a BIOS based Intel Baytrail E3835 board with
U-Boot due to ugly BIOS boottimes.
Has anyone any experience with this and can give me some tips how to
do this?
Yes, using U-Boot as bootloader (without BIOS or coreboot) is definitely possible for BayTrail boards. And the boot time is definitely much better compared to usual BIOS times. I suggest you take a look at some of the available board ports and the documentation:
doc/README.x86
Minnowboard MAX should be a very good example.
+CC Stefan Roese, IIRC he did something with U-Boot on X86.
Added Bin Meng and Simon Glass, as they did most of the work for x86 U-Boot (also for BayTrail).
Additionally our system runs with an RTS Hypervisor to support 2 OS
in parallel (WIN10, WEC2013).
The Hypervisor runs only on bootloader with multiboot2 support. The bootloader has to load all necessary modules regarding the
multiboot2 specification into storage (License, Configuration, WEC-Image).
Is this possible with u-boot? Has u-boot multiboot2 support?
https://www.gnu.org/software/grub/manual/multiboot2/multiboot.html
[...]
No idea, sorry. Maybe Bin and / or Simon have some ideas here.
Thanks, Stefan
________________________________
SEW-EURODRIVE GmbH & Co KG Kommanditgesellschaft, Sitz: Bruchsal, RG Mannheim HRA 230970 Komplementärin: SEW-EURODRIVE Verwaltungs-GmbH, Sitz: Bruchsal, RG Mannheim HRB 230207
Gesellschafter: Jürgen Blickle, Rainer Blickle Geschäftsführung: Jürgen Blickle (Vorsitzender), Udo Aull, Dr. Jörg Hermes, Dr. Hans Krattenmacher, Johann Soder, Dr. Jürgen Zanghellini

Hi Mathias,
On Tue, Nov 20, 2018 at 9:26 PM Mathias.Boos@sew-eurodrive.de wrote:
Hi all,
thanks for your quick answer. I wanted to test the u-boot option with coreboot payload on x86 first. So I built coreboot and did a target download with 2 dead devices at the end.
Does coreboot already support your board? If not, you probably have risks bricking it.
I am just about to restore these devices (customized ones) with some difficulties in doing this ;-)...
When I have restored the devices I will continue my u-boot attempts.
I will still have another x86 board soon with Apollo Lake E3950. The board vendor told me that there is really no way to use u-boot as BIOS replacement. Has anyone experience with u-boot and Apollo Lake?
What the vendor told you is not true. U-Boot of course can be used as the BIOS replacement, as long as it has all the necessary bits to initialize the chipset. For Apollo Lake, Intel FSP can be used to do the chipset initialization. I have an Apollo Lake CRB at my hand for quite a long time, but have not been allocated any time working on U-Boot porting. If you can have a try, welcome!
@ Bin and Simon: do you have any idea if u-boot has multiboot2 support? https://www.gnu.org/software/grub/manual/multiboot2/multiboot.html
In arch/x86/cpu/start.S, there is a comment regarding to this:
/* Add a multiboot header so U-Boot can be loaded by GRUB2 */
Per what the comment says, I suspect U-Boot can be loaded by grub via the multiboot protocol. However I personally have not tried this yet.
PS: please avoid top-posting next time.
[snip]
Regards, Bin
participants (4)
-
Bin Meng
-
Marek Vasut
-
Mathias.Boos@sew-eurodrive.de
-
Stefan Roese