GNU-EFI bootx64.efi ELF boot example problems
Posted: Thu Feb 01, 2024 9:57 am
Hi,
recently I found a piece of code by bassaer@github (https://github.com/bassaer/uefi-bootloader) and rewrote it so that it compiles with gnu-efi(https://github.com/mmarequee/gnu-efi-elf).
I just wanted to ask if this is the correct approach (an EFI application which opens an ELF file, reads the virtual address to which the system jumps in order to transfer control)
or if there's a better way to boot a kernel.
This approach is quite easy to test on real hardware.
Also, writing to framebuffer returned by gop seems to be very slow with the gnu-efi version on real hardware(it seems to be faster with bassaers mingw compiled example),
even if writing is done inside the EFI application(before ExitBootServices).
I'm unable to render the entire font included in zxfont.h, getting garbage on real hardware and nothing gets displayed when using qemu-system-x86_64.
recently I found a piece of code by bassaer@github (https://github.com/bassaer/uefi-bootloader) and rewrote it so that it compiles with gnu-efi(https://github.com/mmarequee/gnu-efi-elf).
I just wanted to ask if this is the correct approach (an EFI application which opens an ELF file, reads the virtual address to which the system jumps in order to transfer control)
or if there's a better way to boot a kernel.
This approach is quite easy to test on real hardware.
Also, writing to framebuffer returned by gop seems to be very slow with the gnu-efi version on real hardware(it seems to be faster with bassaers mingw compiled example),
even if writing is done inside the EFI application(before ExitBootServices).
I'm unable to render the entire font included in zxfont.h, getting garbage on real hardware and nothing gets displayed when using qemu-system-x86_64.