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?


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.

| improve this answer | |
  • Is it possible to do what UEFI bootloader does in UEFI BIOS? – Vince Feb 11 '11 at 1:21
  • Not as far as I know. – Cedric Feb 11 '11 at 8:14

Basically, yes but firstly you need to enable the network card so that your target machine can ping the FTP server to get the kernel image.

Checkout the EDK Boot Loader (EBL) WiKi SourceForge link.

| improve this answer | |
  • EBL looks like not booting a Linux bzImage... – Vince Aug 10 '11 at 4:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.