<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: times new roman,new york,times,serif; font-size: 12pt; color: #000000'><hr id="zwchr"><blockquote style="border-left:2px solid rgb(16, 16, 255);margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2013/4/9 James A. Peltier <span dir="ltr"><<a href="mailto:jpeltier@sfu.ca" target="_blank">jpeltier@sfu.ca</a>></span><br><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div style="font-size:12pt;font-family:times new roman,new york,times,serif">I have iPXE working with both legacy BIOS and EFI machines right now, except that I can't...<br clear="all"></div></div></blockquote><div>
<br></div><div id="DWT4758">How did you do this? Did you use the method Michael described above? <br></div></div></div></div></blockquote><br>I have a undionly.kpxe chainload from legacy BIOS and I have a snponly.efi that I load based on DHCP option 93.  These platforms both run the same iPXE menu bootstrap code and the menus have been abstracted to do the "right thing" based on the platform and architecture.<br><br>In DHCP server<br>============<br><br>option arch code 93 = unsigned integer 16;<br>if option arch = 00:07 {<br># UEFI client<br>  next-server mirror.its.sfu.ca;<br>  filename "/snponly.efi";<br>} else {<br># BIOS client<br>  next-server mirror.its.sfu.ca;<br>  filename "/undionly.kpxe";<br>}<br><br><br>iPXE menu<br>=========<br><br>:windows<br>goto windows-${bios_efi}<br><br>:windows-bios<br>set base-url ${ufds-base-url}/discovery7<br>kernel ${ufds-base-url}/wimboot<br>initrd ${base-url}/bootmgr                     bootmgr<br>initrd ${base-url}/boot/bcd                    BCD<br>#initrd ${base-url}/boot/fonts/segmono_boot.ttf segmono_boot.ttf<br>#initrd ${base-url}/boot/fonts/segoe_slboot.ttf segoe_slboot.ttf<br>#initrd ${base-url}/boot/fonts/wgl4_boot.ttf    wgl4_boot.ttf<br>initrd ${base-url}/boot/boot.sdi               boot.sdi<br>##initrd ${base-url}/sources/boot-${arch}.wim            boot.wim<br>initrd ${base-url}/sources/boot-new.wim            boot.wim<br>boot || goto failed<br>goto start<br><br>:windows-efi<br>echo You are an EFI system.  You are not currently supported!<br>sleep 10<br>goto start<br><br><br>NOTE: that ${arch} and ${bios_efi} is set at bootstrap time for each 
client.  This allows me to have one menu entry/system that supports both
 legacy BIOS and (U)EFI systems.  However, they're using an iPXE binary that's for the target platform.  What you are asking for is simply not possible.<br><br>cpuid --ext 29 && set arch x86_64 || set arch i386<br>iseq ${platform} efi && set bios_efi efi || set bios_efi bios<br><br><blockquote style="border-left:2px solid rgb(16, 16, 255);margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div></div></div></div></blockquote>-- <br><div><span name="x"></span>James A. Peltier<br>Manager, IT Services - Research Computing Group<br>Simon Fraser University - Burnaby Campus<br>Phone   : 778-782-6573<br>Fax     : 778-782-3045<br>E-Mail  : jpeltier@sfu.ca<br>Website : http://www.sfu.ca/itservices<br><br>“A successful person is one who can lay a solid foundation from the bricks others have thrown at them.” -David Brinkley via Luke Shaw<span name="x"></span><br></div></div></body></html>