<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">2013/4/9 Michael Brown <span dir="ltr"><<a href="mailto:mbrown@fensystems.co.uk" target="_blank">mbrown@fensystems.co.uk</a>></span><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class="im">On 09/04/13 15:40, Joshua C. wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I didn't know this. Up to know I've been using a modified version of<br>
ipxe that gives me a shell after initilizing the devices (just a<br>
modified main() function),<br>
</blockquote>
<br></div>
It would be simpler to embed a script such as:<br>
<br>
  #!ipxe<br>
  shell<br>
<br>
That would avoid any need for modifying core/main.c.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
so that I can load and boot any image over a<br>
network. I've always had all image types enabled in general.h and never<br>
had an issues when starting ipxe. Right now my system just reboots<br>
regardless of the not supported IMAGE_EFI. From my point of view this is<br>
a regression, because befor this commit ipxe started without glitches<br>
regardless if an image is supported or not. So even if the image is not<br>
supported then ipxe should gracefully continue initilization and not<br>
reboot the mashine....<br>
</blockquote>
<br></div>
You have enabled an image type which cannot possibly be supported on the target platform.  Do not do that.<br>
<br>
It's not a regression; the error is in your modifications in general.h.  Prior to this commit, this error in your local modifications to general.h was not directly visible to you.<br>
<br>
Any "fix" to this would be to detect the impossible option and deliberately fail the build.  I don't propose to do this, since there are several possible build options you could apply which would generate impossible code (e.g. explicitly enabling CONSOLE_PCBIOS when building a .efirom).<br>

<br>
Just remove your erroneous "#define IMAGE_EFI" from your local modifications to general.h, and all will be well.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
>From the shell I can point to and download any efi image over the<br>
network, but why it cannot boot the system?<br>
</blockquote>
<br></div>
For pretty much exactly the same reason that you can't take a Linux ELF binary and run it under Windows.  PC BIOS and EFI are fundamentally incompatible platforms.  Binaries for one WILL NOT run on the other.<br>
<br>
<br>
You can build a PC BIOS version of iPXE (e.g. bin/rtl8139.rom).  This will work under a PC BIOS, and will be able to run PXE, bzImage, Multiboot, and various other (non-EFI) binaries.<br>
<br>
You can build an EFI version of iPXE (e.g. bin-x86_64-efi/rtl8139.efirom)<u></u>.  This will work under EFI, and will be able to run EFI binaries.<span class=""><font color="#888888"><br>
<br>
Michael<br>
</font></span></blockquote></div><br><br clear="all">I see, thanks for the clarification! I have one more question: if i 
build both binaries and concatenate them with './util/<a href="http://catrom.pl">catrom.pl</a> 
bin/rtl8139.rom bin-x86_64-efi/rtl8139.efirom > 
combined.rom' will this new image be possible to run on both the efi and
 bios systems? Or there should be some loader at boot time to determine 
the system-architecture and load the corresponding image?<br><br><br>-- <br>--joshua
</div></div>