Ciro Santilli 71e104bab0 Uniformized macros: push save all registers, and use only GAS macros, no CPP 9 år sedan
..
Makefile 4fbe9f2246 Set DS to make work on hardware, more failed UEFI attempts 9 år sedan
Makefile.bak 4fbe9f2246 Set DS to make work on hardware, more failed UEFI attempts 9 år sedan
README.md 71e104bab0 Uniformized macros: push save all registers, and use only GAS macros, no CPP 9 år sedan
main.c 4fbe9f2246 Set DS to make work on hardware, more failed UEFI attempts 9 år sedan
ovmf.fd 2b79ac21df Magic bytes on ld scrpit working. Failed UEFI attempt. 9 år sedan

README.md

UEFI

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)?

Shell

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

Exit the shell.

fs0:

Enter a filesystem.

TODO: how to make it visible in the first place?

Bibliography