iPXE discussion forum

Full Version: Help debugging iPXE EFI kernel boot failure
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello. I've been playing with iPXE on both legacy and EFI mode. I have both working with
chainloading the respective grub.0/grub.efi and that works.

What I really want to do is load the kernel and initrd directly.

I've seen in the forum other people have had success with this on EFI.

I'm using the latest source code (refreshed git a few hours ago).

On legacy systems, everything works fine, the kernel boots, goodness.

On my EFI system, I get no output after "boot" after loading the kernel. I've tried various combinations but on the forum this seems to be the preferred method:

iPXE> kernel tftp:// initrd=initrd console=ttyS1,115200,n8
tftp:// ok
iPXE> initrd --name initrd tftp://
tftp:// ok
iPXE> boot
(then nothing)

I tried enabling earlyprintk in linux but saw nothing. I also connected to the VGA screen and
there is nothing different there either.

If I reset and network boot grub.efi (grub2) instead of ipxe.efi, it works ok - same kernel and initrd.

Any suggestions on how I might debug this problem?

In the mean time, I'll try to find some different kernels to play with.
If you're running an older kernel it might have the EFI STUB bug which impacts iPXE's ability to load the kernel under UEFI. Until iPXE has support for bzImage kernels under UEFI the only option is to update to a kernel without the bug. I _think_ it was 3.14 or 3.16 that included the fix. I'm fairly certain I've mentioned the exact kernel it was fixed in somewhere else on the forum, but I can't find it right now.
Good morning. Thanks so much for getting back to me. Since posting this (it was my first forum post so I couldn't update this earlier)... I think I've learned you're correct.

I have 3 scenarios

A opensuse13.2 kernel boots fine (a modern EFI kernel)
A rhel6.6 kernel gives an error (I later found this kernel has CONFIG_EFI but not CONFIG_EFI_STUB set)
A sles11sp3 kernel hangs (but does have CONFIG_EFI_STUB).

I had enabled debugging and indeed saw the "is not EFI" message for the rhel66 case.

It looks like I'm too early to be able to use this particular function.

Thanks again for getting back to me and best wishes.
Reference URL's