[Buildroot] [PATCH v2 2/5] gnu-efi: new package

Yann E. MORIN yann.morin.1998 at free.fr
Wed Feb 19 19:06:39 UTC 2014


Thomas, All,

On 2014-02-19 19:57 +0100, Thomas Petazzoni spake thusly:
> On Wed, 19 Feb 2014 18:53:38 +0100, Yann E. MORIN wrote:
> > > +ifeq ($(BR2_i386),y)
> > > +GNU_EFI_PLATFORM=ia32
> > > +else ifeq ($(BR2_x86_64),y)
> > > +GNU_EFI_PLATFORM=x86_64
> > > +endif
> > 
> > Shouldn't we do like for grub: some EFI-BIOS on x86-64 machines might be
> > a 32-bit EFI-BIOS, in which case we'd want to build the 32-bit version
> > even if the target is 64-bit?
> 
> No, because it doesn't work. Building gnu-efi 32 bits with a 64 bits
> toolchain fails.

OK.

Since we have such a selection in grub2, maybe we could add a little
comment in gnu-eif's Config.in saying building a 32-bit gnu-eif for a
64-bit target is not supported?

> > > +define GNU_EFI_BUILD_CMDS
> > > +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
> > > +		$(TARGET_CONFIGURE_OPTS) \
> > > +		ARCH=$(GNU_EFI_PLATFORM)
> > > +endef
> > > +
> > > +define GNU_EFI_INSTALL_TARGET_CMDS
> > > +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
> > > +		$(TARGET_CONFIGURE_OPTS) \
> > > +		INSTALLROOT=$(TARGET_DIR) \
> > > +		PREFIX=/usr ARCH=$(GNU_EFI_PLATFORM) install
> > > +endef
> > > +
> > > +define GNU_EFI_INSTALL_STAGING_CMDS
> > > +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
> > > +		$(TARGET_CONFIGURE_OPTS) \
> > > +		INSTALLROOT=$(STAGING_DIR) \
> > > +		PREFIX=/usr ARCH=$(GNU_EFI_PLATFORM) install
> > > +endef
> > 
> > Why install in target/ and staging/, and not in images/ ?
> 
> Because gnu-efi is not a bootloader. gnu-efi is a set of header files
> and a small library to be linked into an EFI application. So installing
> it in images/ doesn't make any sense.

OK, now I understand. Thanks for the explanations.

> However, I agree that the installation to the target is useless, so I
> will remove it.
> 
> > Also, this is used to build EFI applications, so I'd expect some host
> > tools to be built and isntalled, too. What am I missing?
> 
> There are no host tools. As far as I understand, gnu-efi only contains
> runtime code, to be linked into an EFI application that will be
> executed on the target.

I asked because I did not find the help text (or even the text on
gnu-efi's website mainpage very helpful either).

Thanks for the clarifications. :-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list