EFI development tools

Andrey V. Elsukov bu7cher at yandex.ru
Sat Jun 16 10:03:37 UTC 2012


On 16.06.2012 02:44, Eric McCorkle wrote:
> I've been working on EFI support for intel platforms.  I've managed to
> build the EFI Development Kit (EDK II) and the IASL compiler for
> FreeBSD, which raises the possibility of integrating them either as
> ports, or possibly into the base system.
> 
> Here is some background:
> 
> Right now, there is only one EFI program that gets built in the entire
> system: loader.efi (for IA64, and in the future, i386 and amd64).
> This is done by building a standard ELF program with a custom linker
> script which produces code at a base address of 0x1000 (This is a
> trick to get the effects of compiling for position-independent code,
> as required by the PE format, as the actual .text section starts at
> that offset into the file).  It then uses objcopy to translate to the
> PE executable format.  I've had some strange behavior in some of the
> EFI interfaces (notably, ConOut), which smacks of some sort of subtle
> ABI issue.
> 
> EDK seems to be made for development on a windows box, with marginal
> support for Darwing and some Linux distros added as an afterthought.
> It takes a bit of shoehorning to get it to build and run on FreeBSD,
> but I did get it to work.  However, it would take a nontrivial effort
> to get it in shape for importation into the base FreeBSD system.  It
> also relies on mingw32 binutils and gcc, as well as python (though it
> only uses python for build purposes; an effort to import it into the
> base system would probably remove all the python bits).

Hi, Eric.

Did you try the GNU EFI toolchain? It contains a good descriptions on
how to build EFI application and we probably can use some suggestions
even without importing it.

   http://sourceforge.net/projects/gnu-efi/

-- 
WBR, Andrey V. Elsukov


More information about the freebsd-hackers mailing list