iPXE discussion forum
wimboot UEFI kernel issues - Printable Version

+- iPXE discussion forum (https://forum.ipxe.org)
+-- Forum: iPXE user forums (/forumdisplay.php?fid=1)
+--- Forum: General (/forumdisplay.php?fid=2)
+--- Thread: wimboot UEFI kernel issues (/showthread.php?tid=10064)

wimboot UEFI kernel issues - phoenix - 2017-06-14 20:31

Hi there.

I discovered that built wimboot EFI kernel is unusable outside of ipxe.
The problem root is in PE prefix: it have some issues that cannot be parsed with e.g. grub2 or other loaders.

For example: objdump for prebuilt 2.6.0-signed:
Virtual Address: 00008000 Chunk size 80 (0x50) Number of fixups 36
        reloc   32 offset  8fd [88fd] HIGHLOW
        reloc   33 offset  902 [8902] HIGHLOW
        reloc   34 offset    0 [8000] ABSOLUTE
        reloc   35 offset    0 [8000] ABSOLUTE
        reloc   36 offset    0 [8000] REL32
        reloc   37 offset    0 [8000] ABSOLUTE
        reloc   38 offset  190 [8190] ABSOLUTE
        reloc   39 offset    0 [8000] ABSOLUTE

Virtual Address: 30673054 Chunk size 814166132 (0x30873074) Number of fixups 407083062
        reloc    0 offset   97 [306730eb] HIGHLOW
        reloc    1 offset   aa [306730fe] HIGHLOW
        reloc    2 offset   ba [3067310e] HIGHLOW
        reloc    3 offset   cd [30673121] HIGHLOW
        reloc    4 offset   e0 [30673134] HIGHLOW

Look at "Number of fixups" and real count of entries in first block, and second block content (looks like actually garbage).

My opinion is it needs to migrate to automatic prefix generation via objcopy.

RE: wimboot UEFI kernel issues - NiKiZe - 2017-07-18 16:36

You might want to re-post this to the more technical readers on the ipxe-devel mailing list

And maybe expand a bit on what "unusable outside of iPXE" means in practice when used with for example grub