book
book copied to clipboard
concept for graphical environments
Current Linux desktop distros mostly expect a UEFI environment.
Generally, u-root can execute a PE32, all the code is there: https://github.com/u-root/u-root/blob/main/pkg/boot/bzimage/header.go#L279
Problems arise when some service or an EFI framebuffer etc is expected. Let's say we do our LinuxBoot with native Linux DRM for graphics. Then we execute a distro kernel with its initrd, and that tries to draw on the EFI framebuffer, which does not exist. So the screen goes blank.
One approach is adding edk2 as an intermediate payload again, creating a bunch of ping pong.
Some minimal tables for a basic UEFI would work. Should we meet on that medium ground, similar to Arm style Base Boot Requirements? We could add this to u-root or as a standalone tool. It wouldn't be hard to write those few structs somewhere in memory, at least.