Hi all,
I noticed that seabios/libpayload could have interresting use cases and I want to share/discuss them.
1) Have a SeaBIOS be a UEFI application. This would benefit on UEFI platforms without CSM.
2) Provide a minimum UEFI environment. As I noticed u-boot started to have such support. In fact it has UEFI glue to u-boot drivers. As such it provides a minimal boot services + minimum runtime services. In seabios, it is almost there, only PE loader and filesystem support is missing.
The 2) could be perhaps be some independent project utilizing the coreboot libpayload library.
Maybe those can be done in next year GSoC.
I guess 2) could be useful to boot future OSes without legacy support.
Thanks Rudolf
Hello Rudolf,
I already wrote about this, and this was in my plans TO DO (investigate) for Y2016: https://www.coreboot.org/pipermail/coreboot/2016-February/080969.html
Good that you again revamped this topic. I am on the same page with you.
Thank you, Zoran
On Mon, Jun 6, 2016 at 10:05 PM, Rudolf Marek r.marek@assembler.cz wrote:
Hi all,
I noticed that seabios/libpayload could have interresting use cases and I want to share/discuss them.
- Have a SeaBIOS be a UEFI application. This would benefit on UEFI
platforms without CSM.
- Provide a minimum UEFI environment. As I noticed u-boot started to have
such support. In fact it has UEFI glue to u-boot drivers. As such it provides a minimal boot services + minimum runtime services. In seabios, it is almost there, only PE loader and filesystem support is missing.
The 2) could be perhaps be some independent project utilizing the coreboot libpayload library.
Maybe those can be done in next year GSoC.
I guess 2) could be useful to boot future OSes without legacy support.
Thanks Rudolf
-- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot
On Mo, 2016-06-06 at 22:05 +0200, Rudolf Marek wrote:
Hi all,
I noticed that seabios/libpayload could have interresting use cases and I want to share/discuss them.
- Have a SeaBIOS be a UEFI application. This would benefit on UEFI platforms
without CSM.
I doubt this is going to fly. seabios has to do quite some low-level stuff (like running code in real mode), I don't think UEFI applications can do that. There is a reason why CSM was designed in the first place.
Note that you can build seabios as CSM for tianocore already.
- Provide a minimum UEFI environment. As I noticed u-boot started to have such
support. In fact it has UEFI glue to u-boot drivers. As such it provides a minimal boot services + minimum runtime services. In seabios, it is almost there, only PE loader and filesystem support is missing.
What is the point? You can just run tianocore as coreboot playload.
Drivers are not an issue, unlike arm x86 has standardized hardware, tianocore can handle things just fine.
cheers, Gerd
Note that you can build seabios as CSM for tianocore already.
These are the opposites: SeaBIOS is CSM ON (emulates Leagcy BIOS), while Tiano Core supposed to be CSM OFF (UEFI), Thus, SeaBIOS and Tiano Core exclude each other (should not be used together -> wrong architecture).
What is the point? You can just run tianocore as coreboot playload.
The point is to make minimal Tiano Core (minimum for making FAT32 partition/file system on HDD/SDD to create /boot/EFI/ directory, in other words minimal UEFI compliant BIOS), Tiano Core as such is good to be used/run for/on x86 architecture ONLY (and side effect is the extended time for booting, since all these DXE drivers must be installed, which will be later mostly replaced/run over with OS drivers, except run time services).
As such, Minimal Tiano Core (minimal UEFI compliant BIOS) could be used on ARM architectures too, thus making ARM HW platforms also compatible/lookalike as x86 UEFI compliant BIOS.
In nutshell, then you can build PC/Laptop with ARM CPU/SoC HW platform, having coreboot + minimal Tiano Core + WIN 10 Boot Loader + WIN10 on it (since WIN10 BL does see UEFI compliance, not knowing what is really under the hood). ;-)
Zoran _______
On Tue, Jun 7, 2016 at 2:02 PM, Gerd Hoffmann kraxel@redhat.com wrote:
On Mo, 2016-06-06 at 22:05 +0200, Rudolf Marek wrote:
Hi all,
I noticed that seabios/libpayload could have interresting use cases and
I want
to share/discuss them.
- Have a SeaBIOS be a UEFI application. This would benefit on UEFI
platforms
without CSM.
I doubt this is going to fly. seabios has to do quite some low-level stuff (like running code in real mode), I don't think UEFI applications can do that. There is a reason why CSM was designed in the first place.
Note that you can build seabios as CSM for tianocore already.
- Provide a minimum UEFI environment. As I noticed u-boot started to
have such
support. In fact it has UEFI glue to u-boot drivers. As such it
provides a
minimal boot services + minimum runtime services. In seabios, it is
almost
there, only PE loader and filesystem support is missing.
What is the point? You can just run tianocore as coreboot playload.
Drivers are not an issue, unlike arm x86 has standardized hardware, tianocore can handle things just fine.
cheers, Gerd
-- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot
On Mon, Jun 06, 2016 at 10:05:31PM +0200, Rudolf Marek wrote:
Hi all,
I noticed that seabios/libpayload could have interresting use cases and I want to share/discuss them.
- Have a SeaBIOS be a UEFI application. This would benefit on UEFI platforms
without CSM.
That would be difficult as SeaBIOS really wants to live at 0xf0000. Outside of CSM I don't think that's possible on UEFI.
- Provide a minimum UEFI environment. As I noticed u-boot started to have such
support. In fact it has UEFI glue to u-boot drivers. As such it provides a minimal boot services + minimum runtime services. In seabios, it is almost there, only PE loader and filesystem support is missing.
Are you suggesting that SeaBIOS be able to load and run UEFI operating systems without tianocore (or similar)? (That is, implement a minimal uefi spec natively within SeaBIOS?) I looked at that briefly a few years back, but the uefi spec is crazy complex. It may be feasible if someone (eg, uboot) has been able to identify a minimal implementation that works in practice with modern real world OSes.
-Kevin