[ipxe-devel] iPXE Trunk ROM for Virtualbox virtio nic

2012-01-23 Thread Mark Gollahon
Hello, list!

I have been trying for days to compile an iPXE virtio-net ROM for use
with Virtualbox, but have been unsuccessful.  I originally followed
the instructions on the etherboot site
(http://WWW.etherboot.org/wiki/romburning/vbox) with just changing the
driver to "virtio-net.rom" without success.  I then tried
"virtio-net.mrom" and that didn't work.  As a sanity-check, I tried
"virtio-net.iso" and that booted, so I know this works

The symptoms that Virtualbox exibits when starting a virtual machine
is a noticeable delay on showing the Virtualbox splash and then a
"FATAL: No bootable medium found! System halted" message immediately
after the VBox splash.  If I remove the iPXE ROM from the VM's config
(and leaving all the other config in place), there is no initial
delay, but Virtualbox's Intel UNDI firmware doesn't have support for
virtio-net.

After all of this, I started compiling-out pieces of iPXE that I
thought I might not use in my environment (and some I might) to try
and get the ROM size down based on the message thread "iPXE with
Virtualbox" started on this list by Pete I. Eby.  I currently have
removed fibre channel, all sanboot protocols, many download protocols,
and several image supporters via these #undef's in the
src/config/local/general.h file:

FCMGMT_CMD
NET_PROTO_FCOE

SANBOOT_PROTO_ISCSI
SANBOOT_PROTO_AOE
SANBOOT_PROTO_IB_SRP
SANBOOT_PROTO_FCP

DOWNLOAD_PROTO_TFTP
DOWNLOAD_PROTO_HTTPS
DOWNLOAD_PROTO_FTP
DOWNLOAD_PROTO_TFTM
DOWNLOAD_PROTO_SLAM

IMAGE_MULTIBOOT
IMAGE_AOUT
IMAGE_WINCE
IMAGE_EFI

I've also added this #undef to console.h for good measure:

CONSOLE_SERIAL

Furthermore, I've tried building the 82543GC iPXE ROM, and that one
fails as well with the exact same symptoms (rom and mrom don't work,
but ISO does).

Next, I tried turning on Virtualbox's pxe debug ("VBoxManage modifyvm
 --biospxedebug on"), but don't see any new information in
Virtualbox's logs.

And finally I've dropped back from Virtualbox v4.1.8 to v4.0.16 - same
symptoms

Does anyone have advice on where to go now?  I'd really like to use
iPXE in combination with virtio-net in Virtualbox.

Thank you!
___
ipxe-devel mailing list
ipxe-devel@lists.ipxe.org
https://lists.ipxe.org/mailman/listinfo/ipxe-devel


Re: [ipxe-devel] iPXE Trunk ROM for Virtualbox virtio nic

2012-01-24 Thread Mark Gollahon
I went back to iPXE v1.0.0, compiled it, and it worked!  So, I did a
git bisect (my first, woohoo!), and came up with this check-in as the
culprit:

fcd55f750011e83709681476e8958fb4c9a2298d is the first bad commit
commit fcd55f750011e83709681476e8958fb4c9a2298d
Author: Michael Brown 
Date:   Tue May 17 15:35:23 2011 +0100

[romprefix] Do not fall back to hooking INT19 by default

Several BIOSes (including most IBM BIOSes and many virtual machine
BIOSes) do not provide detectable PnP support, but will use the BEV
entry point for a PnP option ROM.  On these semi-PnP BIOSes, iPXE will
respond to the absence of detectable PnP support by hooking INT19,
which disrupts the boot order.

BIOSes that genuinely require hooking INT19 seem to be very rare
nowadays.  It may therefore be preferable to assume that the absence
of detectable PnP support indicates a semi-PnP BIOS rather than a
non-PnP BIOS.

Change the default behaviour so that INT19 will never be hooked unless
the compile-time option NONPNP_HOOK_INT19 is enabled.  Leave the
redundant PnP detection routine in-place to allow for debugging via
the ROM banner line.

Signed-off-by: Michael Brown 

:04 04 7fb0c10da6d39f3455ea99510b44ca5931ed00f8
9ee528e125c18207fdb34351de72c096cc774768 M  src


So, what do I do now?


On Mon, Jan 23, 2012 at 5:10 PM, Mark Gollahon  wrote:
> Hello, list!
>
> I have been trying for days to compile an iPXE virtio-net ROM for use
> with Virtualbox, but have been unsuccessful.  I originally followed
> the instructions on the etherboot site
> (http://WWW.etherboot.org/wiki/romburning/vbox) with just changing the
> driver to "virtio-net.rom" without success.  I then tried
> "virtio-net.mrom" and that didn't work.  As a sanity-check, I tried
> "virtio-net.iso" and that booted, so I know this works
>
> The symptoms that Virtualbox exibits when starting a virtual machine
> is a noticeable delay on showing the Virtualbox splash and then a
> "FATAL: No bootable medium found! System halted" message immediately
> after the VBox splash.  If I remove the iPXE ROM from the VM's config
> (and leaving all the other config in place), there is no initial
> delay, but Virtualbox's Intel UNDI firmware doesn't have support for
> virtio-net.
>
> After all of this, I started compiling-out pieces of iPXE that I
> thought I might not use in my environment (and some I might) to try
> and get the ROM size down based on the message thread "iPXE with
> Virtualbox" started on this list by Pete I. Eby.  I currently have
> removed fibre channel, all sanboot protocols, many download protocols,
> and several image supporters via these #undef's in the
> src/config/local/general.h file:
>
> FCMGMT_CMD
> NET_PROTO_FCOE
>
> SANBOOT_PROTO_ISCSI
> SANBOOT_PROTO_AOE
> SANBOOT_PROTO_IB_SRP
> SANBOOT_PROTO_FCP
>
> DOWNLOAD_PROTO_TFTP
> DOWNLOAD_PROTO_HTTPS
> DOWNLOAD_PROTO_FTP
> DOWNLOAD_PROTO_TFTM
> DOWNLOAD_PROTO_SLAM
>
> IMAGE_MULTIBOOT
> IMAGE_AOUT
> IMAGE_WINCE
> IMAGE_EFI
>
> I've also added this #undef to console.h for good measure:
>
> CONSOLE_SERIAL
>
> Furthermore, I've tried building the 82543GC iPXE ROM, and that one
> fails as well with the exact same symptoms (rom and mrom don't work,
> but ISO does).
>
> Next, I tried turning on Virtualbox's pxe debug ("VBoxManage modifyvm
>  --biospxedebug on"), but don't see any new information in
> Virtualbox's logs.
>
> And finally I've dropped back from Virtualbox v4.1.8 to v4.0.16 - same
> symptoms
>
> Does anyone have advice on where to go now?  I'd really like to use
> iPXE in combination with virtio-net in Virtualbox.
>
> Thank you!
___
ipxe-devel mailing list
ipxe-devel@lists.ipxe.org
https://lists.ipxe.org/mailman/listinfo/ipxe-devel


Re: [ipxe-devel] iPXE Trunk ROM for Virtualbox virtio nic

2012-01-24 Thread Mark Gollahon
Ok, seems Virtualbox needs the NONPNP_HOOK_INT19 symbol defined.

For future reference, this was on Virtualbox v4.0.16.  Seems
Virtualbox v4.1.8 needs it, too.


On Tue, Jan 24, 2012 at 10:45 AM, Mark Gollahon  wrote:
> I went back to iPXE v1.0.0, compiled it, and it worked!  So, I did a
> git bisect (my first, woohoo!), and came up with this check-in as the
> culprit:
>
> fcd55f750011e83709681476e8958fb4c9a2298d is the first bad commit
> commit fcd55f750011e83709681476e8958fb4c9a2298d
> Author: Michael Brown 
> Date:   Tue May 17 15:35:23 2011 +0100
>
>    [romprefix] Do not fall back to hooking INT19 by default
>
>    Several BIOSes (including most IBM BIOSes and many virtual machine
>    BIOSes) do not provide detectable PnP support, but will use the BEV
>    entry point for a PnP option ROM.  On these semi-PnP BIOSes, iPXE will
>    respond to the absence of detectable PnP support by hooking INT19,
>    which disrupts the boot order.
>
>    BIOSes that genuinely require hooking INT19 seem to be very rare
>    nowadays.  It may therefore be preferable to assume that the absence
>    of detectable PnP support indicates a semi-PnP BIOS rather than a
>    non-PnP BIOS.
>
>    Change the default behaviour so that INT19 will never be hooked unless
>    the compile-time option NONPNP_HOOK_INT19 is enabled.  Leave the
>    redundant PnP detection routine in-place to allow for debugging via
>    the ROM banner line.
>
>    Signed-off-by: Michael Brown 
>
> :04 04 7fb0c10da6d39f3455ea99510b44ca5931ed00f8
> 9ee528e125c18207fdb34351de72c096cc774768 M      src
>
>
> So, what do I do now?
>
>
> On Mon, Jan 23, 2012 at 5:10 PM, Mark Gollahon  wrote:
>> Hello, list!
>>
>> I have been trying for days to compile an iPXE virtio-net ROM for use
>> with Virtualbox, but have been unsuccessful.  I originally followed
>> the instructions on the etherboot site
>> (http://WWW.etherboot.org/wiki/romburning/vbox) with just changing the
>> driver to "virtio-net.rom" without success.  I then tried
>> "virtio-net.mrom" and that didn't work.  As a sanity-check, I tried
>> "virtio-net.iso" and that booted, so I know this works
>>
>> The symptoms that Virtualbox exibits when starting a virtual machine
>> is a noticeable delay on showing the Virtualbox splash and then a
>> "FATAL: No bootable medium found! System halted" message immediately
>> after the VBox splash.  If I remove the iPXE ROM from the VM's config
>> (and leaving all the other config in place), there is no initial
>> delay, but Virtualbox's Intel UNDI firmware doesn't have support for
>> virtio-net.
>>
>> After all of this, I started compiling-out pieces of iPXE that I
>> thought I might not use in my environment (and some I might) to try
>> and get the ROM size down based on the message thread "iPXE with
>> Virtualbox" started on this list by Pete I. Eby.  I currently have
>> removed fibre channel, all sanboot protocols, many download protocols,
>> and several image supporters via these #undef's in the
>> src/config/local/general.h file:
>>
>> FCMGMT_CMD
>> NET_PROTO_FCOE
>>
>> SANBOOT_PROTO_ISCSI
>> SANBOOT_PROTO_AOE
>> SANBOOT_PROTO_IB_SRP
>> SANBOOT_PROTO_FCP
>>
>> DOWNLOAD_PROTO_TFTP
>> DOWNLOAD_PROTO_HTTPS
>> DOWNLOAD_PROTO_FTP
>> DOWNLOAD_PROTO_TFTM
>> DOWNLOAD_PROTO_SLAM
>>
>> IMAGE_MULTIBOOT
>> IMAGE_AOUT
>> IMAGE_WINCE
>> IMAGE_EFI
>>
>> I've also added this #undef to console.h for good measure:
>>
>> CONSOLE_SERIAL
>>
>> Furthermore, I've tried building the 82543GC iPXE ROM, and that one
>> fails as well with the exact same symptoms (rom and mrom don't work,
>> but ISO does).
>>
>> Next, I tried turning on Virtualbox's pxe debug ("VBoxManage modifyvm
>>  --biospxedebug on"), but don't see any new information in
>> Virtualbox's logs.
>>
>> And finally I've dropped back from Virtualbox v4.1.8 to v4.0.16 - same
>> symptoms
>>
>> Does anyone have advice on where to go now?  I'd really like to use
>> iPXE in combination with virtio-net in Virtualbox.
>>
>> Thank you!
___
ipxe-devel mailing list
ipxe-devel@lists.ipxe.org
https://lists.ipxe.org/mailman/listinfo/ipxe-devel


Re: [ipxe-devel] iPXE Trunk ROM for Virtualbox virtio nic

2012-02-12 Thread Michael Brown
On Tuesday 24 Jan 2012 16:04:12 Mark Gollahon wrote:
> Ok, seems Virtualbox needs the NONPNP_HOOK_INT19 symbol defined.
> 
> For future reference, this was on Virtualbox v4.0.16.  Seems
> Virtualbox v4.1.8 needs it, too.

Thanks for debugging this.  Any suggestions on how to fix this without breaking 
real IBM BIOSes welcome.

Michael
___
ipxe-devel mailing list
ipxe-devel@lists.ipxe.org
https://lists.ipxe.org/mailman/listinfo/ipxe-devel


Re: [ipxe-devel] iPXE Trunk ROM for Virtualbox virtio nic

2012-02-12 Thread Mark Gollahon
You're quite welcome.  First time using git bisect for me.  It is a
wonderful tool!

As for the int19 issue - someone with more indepth BIOS knowledge than I
will need to do it.
On Feb 12, 2012 8:24 AM, "Michael Brown"  wrote:

> On Tuesday 24 Jan 2012 16:04:12 Mark Gollahon wrote:
> > Ok, seems Virtualbox needs the NONPNP_HOOK_INT19 symbol defined.
> >
> > For future reference, this was on Virtualbox v4.0.16.  Seems
> > Virtualbox v4.1.8 needs it, too.
>
> Thanks for debugging this.  Any suggestions on how to fix this without
> breaking
> real IBM BIOSes welcome.
>
> Michael
>
___
ipxe-devel mailing list
ipxe-devel@lists.ipxe.org
https://lists.ipxe.org/mailman/listinfo/ipxe-devel