<div dir="ltr"><div>I've added the following to config/local/general.h:<br></div><div><div><font face="courier new, monospace">#undef PRODUCT_NAME</font></div><div><font face="courier new, monospace">#define PRODUCT_NAME "WT"       /* So that I'll know it's loading */</font></div>

<div><font face="courier new, monospace">#undef  DOWNLOAD_PROTO_TFTP     /* Trivial File Transfer Protocol */</font></div><div><font face="courier new, monospace">#undef  PXE_MENU                /* PXE menu booting */</font></div>

<div><font face="courier new, monospace">#undef  CRYPTO_80211_WEP        /* WEP encryption (deprecated and insecure!) */</font></div><div><font face="courier new, monospace">#undef  CRYPTO_80211_WPA        /* WPA Personal, authenticating with passphrase */</font></div>

<div><font face="courier new, monospace">#undef  CRYPTO_80211_WPA2       /* Add support for stronger WPA cryptography */</font></div><div><font face="courier new, monospace">#undef  IWMGMT_CMD              /* Wireless interface management commands */</font></div>

<div><font face="courier new, monospace">#undef  FCMGMT_CMD              /* Fibre Channel management commands */</font></div><div><font face="courier new, monospace">#undef  SANBOOT_CMD             /* SAN boot commands */</font></div>

</div><div><br></div><div style>The ISCSI stuff appears to be disabled by default in config/general.h. Here's the sized of the virtio-net.rom and the 8086100e.rom files:</div><div style><div><font face="courier new, monospace">$ du -b bin/8086100e.rom bin/virtio-net.rom</font></div>

<div><font face="courier new, monospace">62464<span class="" style="white-space:pre">   </span>bin/8086100e.rom</font></div><div><font face="courier new, monospace">61952<span class="" style="white-space:pre">     </span>bin/virtio-net.rom</font></div>

<div><br></div></div><div style>These still aren't small enough (57344 bytes according to Klaus). I guess it just isn't possible to get them small enough while retaining HTTP support.</div><div style><br></div><div style>

And here's even a build undefing DOWNLOAD_PROTO_TFTP on top of the above config:</div><div style><div><font face="courier new, monospace">$ du -b bin/8086100e.rom bin/virtio-net.rom</font></div><div><font face="courier new, monospace">59904<span class="" style="white-space:pre">       </span>bin/8086100e.rom</font></div>

<div><font face="courier new, monospace">58880<span class="" style="white-space:pre">   </span>bin/virtio-net.rom</font></div></div><div style><br></div><div style>So it looks like something else big might be hiding in there somewhere.</div>

<div style><br></div><div style>Also, they build to the same sizes if I undef NET_PROTO_IPV4 on top of the no-HTTP config above, so it looks like that config option might not make any difference. Is that expected?</div><div style>

<br></div><div style>BTW, I am doing "make clean && make bin/8086100e.rom bin/virtio-net.rom" for each of these builds.</div><div style><br></div><div style>wt</div></div><div class="gmail_extra"><br><br>

<div class="gmail_quote">On Mon, Jan 28, 2013 at 10:12 AM, Steve Cross <span dir="ltr"><<a href="mailto:hairlesshobo@stevecross.org" target="_blank">hairlesshobo@stevecross.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

>From what I've read online, the easiest way to shrink the size of the final binary is to remote iSCSI support - assuming that you don't need it. If iSCSI/SAN is not something that you are planning to use inside of VirtualBox, then you could remove support for that and it should make it small enough to load into VirtualBox.<span class="HOEnZb"><font color="#888888"><br>



<br>-Steve</font></span><div class="HOEnZb"><div class="h5"><br><br><div class="gmail_quote">On Mon, Jan 28, 2013 at 1:08 PM, Warren Turkal <span dir="ltr"><<a href="mailto:wt@ooyala.com" target="_blank">wt@ooyala.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr">I'm not really sure at this point. Robin's comment sent me on a hunt. I found the following in the logs:<div><font face="courier new, monospace">DevPcBios: Failed to open LAN boot ROM file '/Users/wt/VirtualBox VMs/8086100e.rom', rc=VERR_TOO_MUCH_DATA!</font></div>






<div><br></div>So, I guess it isn't loading my ipxe rom. I'll see if I can figure out how to cut it down to the needed size (apparently needs to be <58K). Does anyone have any suggestions for how to trim the size without removing http support?<div>






<br></div><div>Thanks,<div>wt</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Jan 26, 2013 at 4:29 AM, Thomas Miletich <span dir="ltr"><<a href="mailto:thomas.miletich@gmail.com" target="_blank">thomas.miletich@gmail.com</a>></span> wrote:<br>






<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On Fri, Jan 25, 2013 at 7:33 PM, Warren Turkal <<a href="mailto:wt@ooyala.com" target="_blank">wt@ooyala.com</a>> wrote:<br>







><br>
> I am definitely getting the iPXE as it has splash screen like the one Andrew linked. Also, I can hit ctrl-b and exec ipxe commands, which is not possible with the built-in PXE. What isn't working is the HTTP protocol support.<br>







><br>
> Also, my config/local/general.h is empty, so I don't think it's overriding anything.<br>
><br>
> Here's another datapoint:<br>
> $ grep http 8086100e.rom.tmp.map  | head -n2<br>
> bin/blib.a(http.o)            bin/blib.a(config.o) (obj_http)<br>
> bin/blib.a(httpcore.o)        bin/blib.a(http.o) (http_open_filter)<br>
><br>
> The 8086100e.rom.tmp also has evidence of http. So, it looks like some http code has made it that far...I just can't use it. I don't know if it's just being stripped from the final rom binary, but there is no instace of http outside of a couple web addresses in 8086100e.rom. See the following:<br>







> $ strings 8086100e.rom | grep -i http<br>
> <a href="http://ipxe.org" target="_blank">http://ipxe.org</a><br>
> iPXE (<a href="http://ipxe.org" target="_blank">http://ipxe.org</a>)<br>
> $ strings 8086100e.rom.tmp | grep -i http<br>
> <a href="http://ipxe.org" target="_blank">http://ipxe.org</a><br>
> iPXE (<a href="http://ipxe.org" target="_blank">http://ipxe.org</a>)<br>
> [36mhttp://<a href="http://ipxe.org" target="_blank">ipxe.org</a><br>
> See <a href="http://ipxe.org/cmd/%s" target="_blank">http://ipxe.org/cmd/%s</a> for further information<br>
> http<br>
> %s (<a href="http://ipxe.org/%08x" target="_blank">http://ipxe.org/%08x</a>)<br>
> Error %#08x (<a href="http://ipxe.org/%08x" target="_blank">http://ipxe.org/%08x</a>)<br>
> <a href="http://ipxe.org/cfg/%s" target="_blank">http://ipxe.org/cfg/%s</a><br>
><br>
> Why does the 8086100e.rom not have as many "http"-containing strings?<br>
<br>
</div>The .rom image is compressed, the .rom.tmp isn't. So you won't be able<br>
to identify strings in the .rom image. If you can find them in the<br>
corresponding .rom.tmp image it should be fine.<br>
<br>
Are you really sure you're loading the correct image?<br>
<div><br>
> Thanks,<br>
> wt<br>
><br>
><br>
> On Thu, Jan 24, 2013 at 9:09 AM, Andrew Bobulsky <<a href="mailto:rulerof@gmail.com" target="_blank">rulerof@gmail.com</a>> wrote:<br>
>><br>
>> On Wed, Jan 23, 2013 at 4:16 PM, Warren Turkal <<a href="mailto:wt@ooyala.com" target="_blank">wt@ooyala.com</a>> wrote:<br>
>>><br>
>>> iPXE devs,<br>
>>><br>
>>> I have successfully built ipxe and used it in virtualbox much like the instructions here. However, when I do the "make bin/8086100e.rom", the rom image does not appear to contain the HTTP support code as I cannot use http urls in the ipxe shell after boot and hitting ctrl-b. Commands like with "imgfetch <a href="http://192.0.0.1/blah.img" target="_blank">http://192.0.0.1/blah.img</a>" fail with the following error:<br>







>>><br>
>>> Could not start download: Operation not supported (<a href="http://ipxe.org/3c092003" target="_blank">http://ipxe.org/3c092003</a>)<br>
>>><br>
>>> The HTTP code does appear to be built by default since I see "#define DOWNLOAD_PROTO_HTTP" in the general.h. I also see the following:<br>
>>><br>
>>> $ grep -i http bin/8086100e.rom<br>
>>> Binary file bin/8086100e.rom matches<br>
>>><br>
>>> However, I do see "TFTP" and do not see "HTTP" in the "Features:" line of iPXE that shows before the prompt.<br>
>>><br>
>>> I am using the tip of master for this test. The commit id is "3fcb8cf8dceb45f8b01e1d69d43cfd99df43b78a".<br>
>>><br>
>>> Is there anything else that I should be doing to enable HTTP support in the iPXE rom that I am building.<br>
>>><br>
>>> Thanks,<br>
>>> wt<br>
>>> --<br>
>>> Warren Turkal<br>
>>> Site Reliability Engineer |<br>
</div><div><div>>>> <a href="mailto:wt@ooyala.com" target="_blank">wt@ooyala.com</a> | <a href="tel:650-961-3400" value="+16509613400" target="_blank">650-961-3400</a><br>
>>> <a href="http://www.ooyala.com" target="_blank">www.ooyala.com</a> | blog | @ooyala<br>
>>><br>
>>> _______________________________________________<br>
>>> ipxe-devel mailing list<br>
>>> <a href="mailto:ipxe-devel@lists.ipxe.org" target="_blank">ipxe-devel@lists.ipxe.org</a><br>
>>> <a href="https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel" target="_blank">https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel</a><br>
>><br>
>><br>
>> Hello Warren,<br>
>><br>
>> If you are indeed having build-related problems, I wouldn't be able to help you much, but I wanted to write as I've experienced this before.  Virtualbox includes a version of iPXE that has very limited protocol support, and it is the default PXE ROM in every vbox VM I have used.  If, for some reason, your attempt to inject the ROM into your Virtualbox VM's configuration didn't work, it would load the built-in version instead, and while you'd be loading iPXE (which would look like a successful implementation, but of course is just the old, built-in ROM loading).  That built-in iPXE splash screen looks like this: <a href="http://i.imgur.com/gfVjURG.png" target="_blank">http://i.imgur.com/gfVjURG.png</a><br>







>><br>
>> If you like, the only test I could suggest that might shed some light on whether or not your features are being included in the build, you can instead...<br>
>><br>
>> $ make bin/8086100e.pxe<br>
>><br>
>> ...and then chainload *that* file from a TFTP server using the iPXE inside of your VM, and check to see if your features work.  If they do, it's quite likely you just need some updated guide on how to replace your VirtualBox NIC's ROM.<br>







>><br>
>> Cheers,<br>
>> Andrew Bobulsky<br>
><br>
><br>
><br>
><br>
> --<br>
> Warren Turkal<br>
> Site Reliability Engineer |<br>
> <a href="mailto:wt@ooyala.com" target="_blank">wt@ooyala.com</a> | <a href="tel:650-961-3400" value="+16509613400" target="_blank">650-961-3400</a><br>
> <a href="http://www.ooyala.com" target="_blank">www.ooyala.com</a> | blog | @ooyala<br>
><br>
> _______________________________________________<br>
> ipxe-devel mailing list<br>
> <a href="mailto:ipxe-devel@lists.ipxe.org" target="_blank">ipxe-devel@lists.ipxe.org</a><br>
> <a href="https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel" target="_blank">https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel</a><br>
><span><font color="#888888"><br>
</font></span></div></div></blockquote></div><span><font color="#888888"><br><br clear="all"><div><br></div>-- <br><span style="color:rgb(102,102,102);font-family:Arial,Helvetica,sans-serif"><b>Warren Turkal</b><br>

Site Reliability Engineer | <img height="11px" width="67px"><br>


<a href="mailto:wt@ooyala.com" target="_blank"><font color="#134F5C">wt@ooyala.com</font></a> | <a href="tel:650-961-3400" value="+16509613400" target="_blank">650-961-3400</a><br><a href="http://www.ooyala.com/" target="_blank"><font color="#134F5C">www.ooyala.com</font></a> | <a href="http://www.ooyala.com/blog" target="_blank"><font color="#134F5C">blog</font></a> | <a href="http://www.twitter.com/ooyala" target="_blank"><font color="#134F5C">@ooyala</font></a></span>
</font></span></div></div>
<br>_______________________________________________<br>
ipxe-devel mailing list<br>
<a href="mailto:ipxe-devel@lists.ipxe.org" target="_blank">ipxe-devel@lists.ipxe.org</a><br>
<a href="https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel" target="_blank">https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel</a><br>
<br></blockquote></div><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><span style="color:rgb(102,102,102);font-family:Arial,Helvetica,sans-serif"><b>Warren Turkal</b><br>Site Reliability Engineer | <img src="https://lh6.googleusercontent.com/hyz76OkGgnUwiU5b-fZWpAjIcTm-SaytgiFJAbgc6A_dzWIRMpwuB1497LLBOhbB4GU7X04YXaB9B4Qth_bB042dxPIXbHONj8r6LCTlp6Mt3QQpj3c" width="67px" height="11px"><br>

<a href="mailto:wt@ooyala.com" target="_blank"><font color="#134F5C">wt@ooyala.com</font></a> | 650-961-3400<br><a href="http://www.ooyala.com/" target="_blank"><font color="#134F5C">www.ooyala.com</font></a> | <a href="http://www.ooyala.com/blog" target="_blank"><font color="#134F5C">blog</font></a> | <a href="http://www.twitter.com/ooyala" target="_blank"><font color="#134F5C">@ooyala</font></a></span>
</div>