[ipxe-devel] building for use virtualbox

Steve Cross hairlesshobo at stevecross.org
Mon Jan 28 18:12:20 GMT 2013


>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.

-Steve

On Mon, Jan 28, 2013 at 1:08 PM, Warren Turkal <wt at ooyala.com> wrote:

> I'm not really sure at this point. Robin's comment sent me on a hunt. I
> found the following in the logs:
> DevPcBios: Failed to open LAN boot ROM file '/Users/wt/VirtualBox
> VMs/8086100e.rom', rc=VERR_TOO_MUCH_DATA!
>
> 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?
>
> Thanks,
> wt
>
>
> On Sat, Jan 26, 2013 at 4:29 AM, Thomas Miletich <
> thomas.miletich at gmail.com> wrote:
>
>> 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
>> >
>>
>
>
>
> --
> *Warren Turkal*
> Site Reliability Engineer |
> wt at ooyala.com | 650-961-3400
> www.ooyala.com | blog <http://www.ooyala.com/blog> | @ooyala<http://www.twitter.com/ooyala>
>
> _______________________________________________
> ipxe-devel mailing list
> ipxe-devel at lists.ipxe.org
> https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20130128/82d16c0b/attachment.html>


More information about the ipxe-devel mailing list