3 ms·
This is an obsolete way to do that. In UEFI you don't need to play with assembly, look: https://www.rodsbooks.com/efi-programming/hello.html https://www.rodsbo
by leo89 7y ago
This is an obsolete way to do that. In UEFI you don't need to play with assembly, look:
https://www.rodsbooks.com/efi-programming/hello.html https://www.rodsbooks.com/efi-programming/hello.html
- drudru11 7y agoI agree UEFI is the way to go. Just curious, how do people debug their programs though? Older non-pc systems had really decent debuggers built in.
- yusyusyus 7y agoQEMU and Tianocore works in some cases.
- leo89 7y agoThere are couple ways. You can compile UEFI for QEMU (OVMF package or possibly compile coreboot with Tianocore payload). Another way is just output. UEFI gives you shell, so you can see output and in UEFI it's much easier to deal with this stuff. If you use coreboot and libpayload it's much easier because it offers you built-in GDB server you can connect to via serial port.
- userbinator 7y agoEveryone who has done BIOS work thinks that UEFI is a bloated mess, to put it lightly. UEFI is itself an environment with comparable complexity to an operating system. Linus' posts about it are worth reading: https://yarchive.net/comp/linux/efi.html https://yarchive.net/comp/linux/efi.html The result should be generation of intermediate files and the final hello.efi program file of about 46KiB on a 64-bit system That's bigger than the whole MS-DOS 3.2 kernel.
- faissaloo 7y agoI still don't really understand the necessity of EFI