[ipxe-devel] Grub2 vs iPXE

Vít Ondruch vondruch at redhat.com
Tue Sep 22 15:09:46 UTC 2015


Dne 4.9.2015 v 13:44 Michael Brown napsal(a):
> On 04/09/15 11:54, Vít Ondruch wrote:
>> Trying to boot Fedora using iPXE from GRUB [1], it does not work.
>> Following the manual how to add the boot menu item, the boot fails with
>> the "kernel too old" message.
>>
>> This is probably caused due to iPXE kernel reporting its version as
>> 1.0.0+:
>>
>> $ file /boot/bfo.lkrn
>> /boot/bfo.lkrn: Linux kernel x86 boot executable bzImage, version 1.0.0+
>> (a937), RO-rootFS,
>
> GRUB shouldn't care about the version number string (which is not
> supposed to be interpretable, just human-readable), but it might care
> about the bzImage header version field, which iPXE reports as 2.07.
>
> Michael

So after discussion with Grub maintainers and revealing that I'm trying
to boot my system via EFI, they don't want to hear about it [1] and they
claims it is vendor specific issue and it indeed is (not sure why EFI
support is not in upstream Grub yet :/).

Looking into Fedora's Grub package, there is "Add support for linuxefi"
patch [2] which contains the "kernel too old" message [3]. A bit above
this message [1], there is check for "lh.version < grub_cpu_to_le16
(0x020b)", which checks the Linux/x86 boot protocol version, which is
2.11 in this case. Linux documentation [5], it states:

Protocol 2.11:    (Kernel 3.6) Added a field for offset of EFI handover
protocol entry point.

So this check looks pretty reasonable to me, so can iPXE support this
and hence support EFI?

Thanks.


Vít



[1] https://savannah.gnu.org/bugs/?45853#comment7
[2]
http://pkgs.fedoraproject.org/cgit/grub2.git/tree/0003-Add-support-for-linuxefi.patch
[3]
http://pkgs.fedoraproject.org/cgit/grub2.git/tree/0003-Add-support-for-linuxefi.patch#n345
[4]
http://pkgs.fedoraproject.org/cgit/grub2.git/tree/0003-Add-support-for-linuxefi.patch#n343
[5] https://www.kernel.org/doc/Documentation/x86/boot.txt





More information about the ipxe-devel mailing list