[syslinux] efilinux release 0.8

Matt Fleming matt at console-pimps.org
Thu Jul 28 11:21:17 PDT 2011

On Thu, 2011-07-28 at 20:12 +0530, KESHAV P.R. wrote:
> Hi,
>      Compile error in Archlinux x86_64 with gcc-multilib 4.6.1 ,
> gnu-efi 3.0k (x86_64 UEFI libs only) - GIT devel branch - snapshot
> http://git.kernel.org/?p=boot/efilinux/efilinux.git;a=snapshot;h=471830a5a7494b6ca59f914cc7e93e75ed4b2a88;sf=tgz
> cc -I. -I/usr/include/efi -I/usr/include/efi/x86_64
> -DEFI_FUNCTION_WRAPPER -fPIC -fshort-wchar -ffreestanding -Wall -Ifs/
> -Iloaders/ -Dx86_64 -Werror   -c -o entry.o entry.c
> In file included from entry.c:38:0:
> protocol.h: In function 'locate_protocol':
> protocol.h:62:31: error: 'EFI_BOOT_SERVICES' has no member named
> 'LocateProtocol'
> make: *** [entry.o] Error 1
> gnu-efi 3.0k File list (libs in /usr/lib/ not /usr/lib64 in Archlinux)

Hi Keshav, thanks for trying efilinux. This compilation error is a known
problem. Fedora (which is running on my development machine) is carrying
patches that update EFI_BOOT_SERVICES with some more function pointers
as specified in the UEFI 2.0 specification - LocateProtocol is one such
function pointer.

Those patches were pushed into the gnu-efi trunk last week, so gnu-efi
3.0l is required to build efilinux if you're not running Fedora.

> Can this be built using Tianocore EDK2 libraries instead of gnu-efi.

That possibility has been discussed in the past, and while there
currently is no support for building with anything other than gnu-efi,
patches to build with alternative libraries are welcome. It should
simply be a case of adding alternate definitions for some of the static
inline functions in the header files and adding some Makefile glue.

> Also is this going to be syslinux UEFI bootloader or independent of
> it? Thanks for the program.

This project is separate from, but related to, UEFI support in Syslinux.
The Syslinux implementation will likely be based on efilinux, but will
probably not include any efilinux code directly.

Matt Fleming, Intel Open Source Technology Center

More information about the Syslinux mailing list