<div dir="ltr">I did exactly that. I just mistyped in my last email. Where I said I added "#undef <span style="font-family:arial,sans-serif;font-size:13px">DOWNLOAD_PROTO_TFTP", I actually mean "#undef </span><span style="font-family:arial,sans-serif;font-size:13px">DOWNLOAD_PROTO_HTTP". D</span>oing that gave me the following size of the roms:<div>

<br><div><div style="font-family:arial,sans-serif;font-size:13px"><font face="courier new, monospace">$ du -b bin/8086100e.rom bin/virtio-net.rom</font></div><div style="font-family:arial,sans-serif;font-size:13px"><font face="courier new, monospace">59904<span style="white-space:pre-wrap">     </span>bin/8086100e.rom</font></div>

<div style="font-family:arial,sans-serif;font-size:13px"><font face="courier new, monospace">58880<span style="white-space:pre-wrap">   </span>bin/virtio-net.rom</font></div></div></div><div style="font-family:arial,sans-serif;font-size:13px">

<font face="courier new, monospace"><br></font></div>They definitely did shrink, but not by much. I also tried to undef NET_PROTO_IPV4. Unfortunately, that had no affect on the rom file sizes.<div><br></div><div style>Thanks,</div>

<div style>wt</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jan 28, 2013 at 11:29 AM, Mark Gollahon <span dir="ltr"><<a href="mailto:mgollahon@exacq.com" target="_blank">mgollahon@exacq.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Warren, I'd suggest making an iPXE *test* build that removes HTTP<br>
support just to see if you can get it below the 57344 byte mark and,<br>
if so, see if it loads and runs.  You can always play around with<br>
including and excluding features later.  At least, that's the way I<br>
approached getting iPXE running in VBox.<br>
<br>
<br>
> Date: Mon, 28 Jan 2013 10:46:40 -0800<br>
> From: Warren Turkal <<a href="mailto:wt@ooyala.com">wt@ooyala.com</a>><br>
> To: Steve Cross <<a href="mailto:hairlesshobo@stevecross.org">hairlesshobo@stevecross.org</a>><br>
> Cc: <a href="mailto:ipxe-devel@lists.ipxe.org">ipxe-devel@lists.ipxe.org</a><br>
> Subject: Re: [ipxe-devel] building for use virtualbox<br>
> Message-ID:<br>
>         <CAAOEERyWeqX=<a href="mailto:R_XzWqkdpzAwcJrF2vQC_zB4SR8Yebm--sk4sA@mail.gmail.com">R_XzWqkdpzAwcJrF2vQC_zB4SR8Yebm--sk4sA@mail.gmail.com</a>><br>
> Content-Type: text/plain; charset="iso-8859-1"<br>
<div><div class="h5">><br>
> I've added the following to config/local/general.h:<br>
> #undef PRODUCT_NAME<br>
> #define PRODUCT_NAME "WT"       /* So that I'll know it's loading */<br>
> #undef  DOWNLOAD_PROTO_TFTP     /* Trivial File Transfer Protocol */<br>
> #undef  PXE_MENU                /* PXE menu booting */<br>
> #undef  CRYPTO_80211_WEP        /* WEP encryption (deprecated and<br>
> insecure!) */<br>
> #undef  CRYPTO_80211_WPA        /* WPA Personal, authenticating with<br>
> passphrase */<br>
> #undef  CRYPTO_80211_WPA2       /* Add support for stronger WPA<br>
> cryptography */<br>
> #undef  IWMGMT_CMD              /* Wireless interface management commands */<br>
> #undef  FCMGMT_CMD              /* Fibre Channel management commands */<br>
> #undef  SANBOOT_CMD             /* SAN boot commands */<br>
><br>
> The ISCSI stuff appears to be disabled by default in config/general.h.<br>
> Here's the sized of the virtio-net.rom and the 8086100e.rom files:<br>
> $ du -b bin/8086100e.rom bin/virtio-net.rom<br>
> 62464 bin/8086100e.rom<br>
> 61952 bin/virtio-net.rom<br>
><br>
> These still aren't small enough (57344 bytes according to Klaus). I guess<br>
> it just isn't possible to get them small enough while retaining HTTP<br>
> support.<br>
><br>
> And here's even a build undefing DOWNLOAD_PROTO_TFTP on top of the above<br>
> config:<br>
> $ du -b bin/8086100e.rom bin/virtio-net.rom<br>
> 59904 bin/8086100e.rom<br>
> 58880 bin/virtio-net.rom<br>
><br>
> So it looks like something else big might be hiding in there somewhere.<br>
><br>
> Also, they build to the same sizes if I undef NET_PROTO_IPV4 on top of the<br>
> no-HTTP config above, so it looks like that config option might not make<br>
> any difference. Is that expected?<br>
><br>
> BTW, I am doing "make clean && make bin/8086100e.rom bin/virtio-net.rom"<br>
> for each of these builds.<br>
><br>
> wt<br>
><br>
><br>
> On Mon, Jan 28, 2013 at 10:12 AM, Steve Cross<br>
> <<a href="mailto:hairlesshobo@stevecross.org">hairlesshobo@stevecross.org</a>>wrote:<br>
><br>
>> From what I've read online, the easiest way to shrink the size of the<br>
>> final binary is to remote iSCSI support - assuming that you don't need it.<br>
>> If iSCSI/SAN is not something that you are planning to use inside of<br>
>> VirtualBox, then you could remove support for that and it should make it<br>
>> small enough to load into VirtualBox.<br>
>><br>
>> -Steve<br>
>><br>
>><br>
>> On Mon, Jan 28, 2013 at 1:08 PM, Warren Turkal <<a href="mailto:wt@ooyala.com">wt@ooyala.com</a>> wrote:<br>
>><br>
>>> I'm not really sure at this point. Robin's comment sent me on a hunt. I<br>
>>> found the following in the logs:<br>
>>> DevPcBios: Failed to open LAN boot ROM file '/Users/wt/VirtualBox<br>
>>> VMs/8086100e.rom', rc=VERR_TOO_MUCH_DATA!<br>
>>><br>
>>> So, I guess it isn't loading my ipxe rom. I'll see if I can figure out<br>
>>> how to cut it down to the needed size (apparently needs to be <58K). Does<br>
>>> anyone have any suggestions for how to trim the size without removing http<br>
>>> support?<br>
>>><br>
>>> Thanks,<br>
>>> wt<br>
>>><br>
>>><br>
>>> On Sat, Jan 26, 2013 at 4:29 AM, Thomas Miletich <<br>
>>> <a href="mailto:thomas.miletich@gmail.com">thomas.miletich@gmail.com</a>> wrote:<br>
>>><br>
>>>> On Fri, Jan 25, 2013 at 7:33 PM, Warren Turkal <<a href="mailto:wt@ooyala.com">wt@ooyala.com</a>> wrote:<br>
>>>> ><br>
>>>> > I am definitely getting the iPXE as it has splash screen like the one<br>
>>>> Andrew linked. Also, I can hit ctrl-b and exec ipxe commands, which is not<br>
>>>> possible with the built-in PXE. What isn't working is the HTTP protocol<br>
>>>> support.<br>
>>>> ><br>
>>>> > Also, my config/local/general.h is empty, so I don't think it's<br>
>>>> 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<br>
>>>> http code has made it that far...I just can't use it. I don't know if it's<br>
>>>> just being stripped from the final rom binary, but there is no instace of<br>
>>>> 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>
>>>> 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>
>>>><br>
>>>> > Thanks,<br>
>>>> > wt<br>
>>>> ><br>
>>>> ><br>
>>>> > On Thu, Jan 24, 2013 at 9:09 AM, Andrew Bobulsky <<a href="mailto:rulerof@gmail.com">rulerof@gmail.com</a>><br>
>>>> wrote:<br>
>>>> >><br>
>>>> >> On Wed, Jan 23, 2013 at 4:16 PM, Warren Turkal <<a href="mailto:wt@ooyala.com">wt@ooyala.com</a>> wrote:<br>
>>>> >>><br>
>>>> >>> iPXE devs,<br>
>>>> >>><br>
>>>> >>> I have successfully built ipxe and used it in virtualbox much like<br>
>>>> the instructions here. However, when I do the "make bin/8086100e.rom", the<br>
>>>> rom image does not appear to contain the HTTP support code as I cannot use<br>
>>>> http urls in the ipxe shell after boot and hitting ctrl-b. Commands like<br>
>>>> 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 (<br>
>>>> <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<br>
>>>> "#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:"<br>
>>>> line of iPXE that shows before the prompt.<br>
>>>> >>><br>
>>>> >>> I am using the tip of master for this test. The commit id is<br>
>>>> "3fcb8cf8dceb45f8b01e1d69d43cfd99df43b78a".<br>
>>>> >>><br>
>>>> >>> Is there anything else that I should be doing to enable HTTP support<br>
>>>> in the iPXE rom that I am building.<br>
>>>> >>><br>
>>>> >>> Thanks,<br>
>>>> >>> wt<br>
>>>> >>> --<br>
>>>> >>> Warren Turkal<br>
>>>> >>> Site Reliability Engineer |<br>
>>>> >>> <a href="mailto:wt@ooyala.com">wt@ooyala.com</a> | <a href="tel:650-961-3400" value="+16509613400">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">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<br>
>>>> to help you much, but I wanted to write as I've experienced this before.<br>
>>>>  Virtualbox includes a version of iPXE that has very limited protocol<br>
>>>> support, and it is the default PXE ROM in every vbox VM I have used.  If,<br>
>>>> for some reason, your attempt to inject the ROM into your Virtualbox VM's<br>
>>>> configuration didn't work, it would load the built-in version instead, and<br>
>>>> while you'd be loading iPXE (which would look like a successful<br>
>>>> implementation, but of course is just the old, built-in ROM loading).  That<br>
>>>> built-in iPXE splash screen looks like this:<br>
>>>> <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<br>
>>>> on whether or not your features are being included in the build, you can<br>
>>>> instead...<br>
>>>> >><br>
>>>> >> $ make bin/8086100e.pxe<br>
>>>> >><br>
>>>> >> ...and then chainload *that* file from a TFTP server using the iPXE<br>
>>>> inside of your VM, and check to see if your features work.  If they do,<br>
>>>> it's quite likely you just need some updated guide on how to replace your<br>
>>>> 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">wt@ooyala.com</a> | <a href="tel:650-961-3400" value="+16509613400">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">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>
>>><br>
>>><br>
>>><br>
>>> --<br>
</div></div>>>> *Warren Turkal*<br>
<div class="im">>>> Site Reliability Engineer |<br>
>>> <a href="mailto:wt@ooyala.com">wt@ooyala.com</a> | <a href="tel:650-961-3400" value="+16509613400">650-961-3400</a><br>
</div>>>> <a href="http://www.ooyala.com" target="_blank">www.ooyala.com</a> | blog <<a href="http://www.ooyala.com/blog" target="_blank">http://www.ooyala.com/blog</a>> | @ooyala<<a href="http://www.twitter.com/ooyala" target="_blank">http://www.twitter.com/ooyala</a>><br>


<div class="im">>>><br>
>>> _______________________________________________<br>
>>> ipxe-devel mailing list<br>
>>> <a href="mailto:ipxe-devel@lists.ipxe.org">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>
>><br>
><br>
><br>
> --<br>
</div>> *Warren Turkal*<br>
<div class="im">> Site Reliability Engineer |<br>
> <a href="mailto:wt@ooyala.com">wt@ooyala.com</a> | <a href="tel:650-961-3400" value="+16509613400">650-961-3400</a><br>
</div>> <a href="http://www.ooyala.com" target="_blank">www.ooyala.com</a> | blog <<a href="http://www.ooyala.com/blog" target="_blank">http://www.ooyala.com/blog</a>> |<br>
> @ooyala<<a href="http://www.twitter.com/ooyala" target="_blank">http://www.twitter.com/ooyala</a>><br>
> -------------- next part --------------<br>
> An HTML attachment was scrubbed...<br>
> URL: <<a href="http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20130128/6c4c83db/attachment.html" target="_blank">http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20130128/6c4c83db/attachment.html</a>><br>


><br>
> ------------------------------<br>
<div class="im">><br>
> _______________________________________________<br>
> ipxe-devel mailing list<br>
> <a href="mailto:ipxe-devel@lists.ipxe.org">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>
</div>> End of ipxe-devel Digest, Vol 32, Issue 30<br>
> ******************************************<br>
<div class="HOEnZb"><div class="h5">_______________________________________________<br>
ipxe-devel mailing list<br>
<a href="mailto:ipxe-devel@lists.ipxe.org">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>
</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>