[syslinux] pxechn.c32 for EFI

Gene Cumm
Tue, 30 Dec 2014 03:29:43 -0000

On Mon, Dec 29, 2014 at 8:16 AM, Geert Stappers <stappers at stappers.nl>
wrote:
> On Mon, Dec 29, 2014 at 04:15:56AM -0800, Patrick Masotta wrote:
>> On Mon, Dec 29, 2014 at 08:47:54AM +0100, Luke Ledgerd wrote:
>> > I think I'd like to ask for a feature request to allow
pxechn.c32
>> > to work with EFI too and to have the ability for PXELinux to have
a
>> > ROOT path variable (kind of like gpxelinux.0) that can either have
>> > HTTP or TFTP urls. That would be a very useful addition to
PXELinux.
>>
>> I do not think pxechn.c32 can ever be EFI capable
>> but I agree with you something like pxechn.e32/e64 would be
>> very handy. Is it too hard to code?
>
> I guess it is only a matter of porting.

Yes/no.

I do agree that a pxechn.c32-like module for both EFI architectures
would be useful.  However, it should be approached in stages:

1) SYSLINUX on EFI must be extended to load arbitrary EFI binaries
(perhaps through a module first like how linux.c32's code became the
Linux loader).
2) If EFI allows for extra parameters, such functionality should be
utilized for passing the prefix  and CONFIG.  If not, functionality
akin to pxechn.c32 would be needed to alter the environment.

As I recall, when I wrote pxechn.c32 (which is basically some PXE RAM
data manipulation code atop parts of an older chain.c32 codebase), I
tried to take reasonable precautions to prevent it from touching RAM
outside what might be available for the altered packet.

--
-Gene