[syslinux] Question about syslinux EFI alpha version

Matt Fleming matt at console-pimps.org
Tue May 7 05:33:09 PDT 2013


On Tue, 07 May, at 01:05:22PM, Klaus Knopper wrote:
> I checked out version 6.00-pre git of syslinux (the "firmware" branch)
> and was able to compile efi32 and efi64 versions (w/ gnu-efi 3.0t from
> Debian/experimental) of syslinux.efi on my 32bit netbook, however, I
> think that the generated file format for both .efi files is just wrong.
> Neither the OMVF EFI firmware, nor grub-efi or elilo can load the
> generated syslinux.efi binaries, and the reason seems to be this:

Hmm.. I have successfully loaded syslinux.efi from the OVMF firmware. I
didn't think that grub-efi or elilo had the facilities to execute EFI
applications? What error messages are you seeing when loading
syslinux.efi from OVMF?
 
> $ file elilo.efi syslinux.efi syslinux.so
> elilo.efi:    PE32+ executable (EFI application) x86-64 (stripped to external PDB), for MS Windows
> syslinux.efi: MS-DOS executable
> syslinux.so:  ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
> 
> The output for syslinux.efi just looks wrong.

Well, the .efi file works fine when executed from multiple firmware
implementations. I'm not sure what magic file(1) uses to figure out the
type of PE32+ files, but I assure you that all the required fields
appear in the syslinux.efi header. People have brought this discrepancy
up before and I've just never found the time to fix it.
 
> So it looks like I cannot even test syslinux.efi right now because there
> is no EFI-suitable binary generated at all.
 
Have you actually tried running syslinux.efi from the 6.0-pre* releases,
either the EFI shell or the EFI boot manager? They should work.

> Since I don't need any of the syslinux module functions like menu.c32 or
> vesa.c32, just the plain commandline bootloader, syslinux.efi in 32 and
> 64bit would be perfect, if I get it running.

You will also need to install ldinux.c32, which contains all the key
parts of Syslinux that are not absolutely required to be in the core
(e.g. syslinux.efi).
 
-- 
Matt Fleming, Intel Open Source Technology Center


More information about the Syslinux mailing list