I'm porting UEFI BIOS. I'd like to download an Linux image (bzImage) to system memory by TFTP in my UEFI shell, and then boot the OS directly. I know we generally need another bootloader to do that. But is it possible to boot Linux in UEFI BIOS? And how?

2 Answers
2

A UEFI firmware (not BIOS, that's something else) can only load UEFI applications corresponding to the EFI firmware architecture. So you can't directly load a Linux kernel, but you should be able to load a UEFI bootloader which will then load the Linux kernel into memory and jump to it.

Since kernel version 3.3

It become possible to compile a Linux kernel with the EFISTUB option, which allows to directly execute/load the kernel as an EFI image without having to use a boot loader.