Ciro Santilli 71e104bab0 Uniformized macros: push save all registers, and use only GAS macros, no CPP | 9 lat temu | |
---|---|---|
.. | ||
Makefile | 9 lat temu | |
Makefile.bak | 9 lat temu | |
README.md | 9 lat temu | |
main.c | 9 lat temu | |
ovmf.fd | 9 lat temu |
Successor for BIOS.
Made by Intel, mostly MIT open source, but vendors do modify it.
Matthew Garrett says it is huge: larger than Linux without drivers. Like BIOS, it is a "mini-OS".
Since it is huge, it inevitably contains bugs. Garret says that Intel sometimes does not feel like updating the firmware with bugfixes.
ARM is considering an implementation https://wiki.linaro.org/ARM/UEFI
TODO get a hello world program working:
Running without image gives the UEFI shell, and a Linux kernel image booted fine with it: http://unix.stackexchange.com/a/228053/32558 , so we just need to generate the image.
OVMF.fd IA32 r15214 downloaded from: https://sourceforge.net/projects/edk2/files/OVMF/OVMF-IA32-r15214.zip/download Included in-source for convenience, even though it is ugly.
UEFI offers a large API. The POSIX C library has been ported to it, and there is some talk about Python running on it (through that POSIX lib)?
UEFI gives you an interactive shell that lets you do things like choose an OS to load.
Looks a bit like GRUB, but this is standardized.
Exit the shell.
Enter a filesystem.
TODO: how to make it visible in the first place?