Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Jun 2012 14:03:33 +0400
From:      "Andrey V. Elsukov" <bu7cher@yandex.ru>
To:        Eric McCorkle <eric@shadowsun.net>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: EFI development tools
Message-ID:  <4FDC59F5.9010801@yandex.ru>
In-Reply-To: <4FDBBACF.9040809@shadowsun.net>
References:  <4FDBBACF.9040809@shadowsun.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FDC59F5.9010801>