[ipxe-devel] building for use virtualbox

Thomas Miletich thomas.miletich at gmail.com
Sat Jan 26 12:29:34 GMT 2013


On Fri, Jan 25, 2013 at 7:33 PM, Warren Turkal <wt at ooyala.com> wrote:
>
> 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.
>
> Also, my config/local/general.h is empty, so I don't think it's overriding anything.
>
> Here's another datapoint:
> $ grep http 8086100e.rom.tmp.map  | head -n2
> bin/blib.a(http.o)            bin/blib.a(config.o) (obj_http)
> bin/blib.a(httpcore.o)        bin/blib.a(http.o) (http_open_filter)
>
> 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:
> $ strings 8086100e.rom | grep -i http
> http://ipxe.org
> iPXE (http://ipxe.org)
> $ strings 8086100e.rom.tmp | grep -i http
> http://ipxe.org
> iPXE (http://ipxe.org)
> [36mhttp://ipxe.org
> See http://ipxe.org/cmd/%s for further information
> http
> %s (http://ipxe.org/%08x)
> Error %#08x (http://ipxe.org/%08x)
> http://ipxe.org/cfg/%s
>
> Why does the 8086100e.rom not have as many "http"-containing strings?

The .rom image is compressed, the .rom.tmp isn't. So you won't be able
to identify strings in the .rom image. If you can find them in the
corresponding .rom.tmp image it should be fine.

Are you really sure you're loading the correct image?

> Thanks,
> wt
>
>
> On Thu, Jan 24, 2013 at 9:09 AM, Andrew Bobulsky <rulerof at gmail.com> wrote:
>>
>> On Wed, Jan 23, 2013 at 4:16 PM, Warren Turkal <wt at ooyala.com> wrote:
>>>
>>> iPXE devs,
>>>
>>> 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 http://192.0.0.1/blah.img" fail with the following error:
>>>
>>> Could not start download: Operation not supported (http://ipxe.org/3c092003)
>>>
>>> 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:
>>>
>>> $ grep -i http bin/8086100e.rom
>>> Binary file bin/8086100e.rom matches
>>>
>>> However, I do see "TFTP" and do not see "HTTP" in the "Features:" line of iPXE that shows before the prompt.
>>>
>>> I am using the tip of master for this test. The commit id is "3fcb8cf8dceb45f8b01e1d69d43cfd99df43b78a".
>>>
>>> Is there anything else that I should be doing to enable HTTP support in the iPXE rom that I am building.
>>>
>>> Thanks,
>>> wt
>>> --
>>> Warren Turkal
>>> Site Reliability Engineer |
>>> wt at ooyala.com | 650-961-3400
>>> www.ooyala.com | blog | @ooyala
>>>
>>> _______________________________________________
>>> ipxe-devel mailing list
>>> ipxe-devel at lists.ipxe.org
>>> https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel
>>
>>
>> Hello Warren,
>>
>> 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: http://i.imgur.com/gfVjURG.png
>>
>> 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...
>>
>> $ make bin/8086100e.pxe
>>
>> ...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.
>>
>> Cheers,
>> Andrew Bobulsky
>
>
>
>
> --
> Warren Turkal
> Site Reliability Engineer |
> wt at ooyala.com | 650-961-3400
> www.ooyala.com | blog | @ooyala
>
> _______________________________________________
> ipxe-devel mailing list
> ipxe-devel at lists.ipxe.org
> https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel
>


More information about the ipxe-devel mailing list