opengnsys_ipxe/src/config/vbox
Michael Brown 83516ba7f0 [cloud] Use PCIAPI_DIRECT for cloud images
The version of SeaBIOS found on some AWS EC2 instances (observed with
t3a.nano in eu-west-1) has no support for the INT 1A PCI BIOS calls.

Bring config/ioapi.h into the named-configuration set of headers, and
specify the use of PCIAPI_DIRECT for CONFIG=cloud, to work around the
missing PCI BIOS support.

Switching to a different named configuration will now unfortunately
cause an almost complete rebuild of iPXE.  As described in commit
c801cb2 ("[build] Allow for named configurations at build time"), this
is the reason why config/ioapi.h was not originally in the
named-configuration set of header files.

This rebuild cost is acceptable given that build times are
substantially faster now than seven years ago, and that very few
people are likely to be switching named configurations on a regular
basis.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2021-02-13 19:41:03 +00:00
..
README [build] Avoid using embedded script in VirtualBox named configuration 2014-08-22 20:43:11 +01:00
colour.h [build] Add named configuration for VirtualBox 2014-08-21 16:05:29 +01:00
console.h [build] Add named configuration for VirtualBox 2014-08-21 16:05:29 +01:00
crypto.h [build] Add named configuration for VirtualBox 2014-08-21 16:05:29 +01:00
general.h [vbox] Enable some more features now that we have LZMA compression 2015-02-26 15:00:36 +00:00
ioapi.h [cloud] Use PCIAPI_DIRECT for cloud images 2021-02-13 19:41:03 +00:00
serial.h [build] Add named configuration for VirtualBox 2014-08-21 16:05:29 +01:00
settings.h [build] Add named configuration for VirtualBox 2014-08-21 16:05:29 +01:00
sideband.h [build] Add named configuration for VirtualBox 2014-08-21 16:05:29 +01:00
usb.h [usb] Add config/usb.h for USB configuration options 2015-03-18 12:35:16 +00:00

README

Build using this command line:

make CONFIG=vbox bin/intel--virtio-net--pcnet32.isarom

Max size of a VirtualBox ROM is 56KB, 57344 bytes. There should be no need
to pad the image as long as the binary is smaller or equal to this size.

To use the ROM in VirtualBox you need to enable it using this command:

vboxmanage setextradata global \
    VBoxInternal/Devices/pcbios/0/Config/LanBootRom \
    /absolute/path/to/intel--virtio-net--pcnet32.isarom

NB: If you build the ROM using the .rom prefix then it'll be built as a PCI
ROM, which won't work properly in VirtualBox.  The error message you'll see
is "No more network devices", which is somewhat confusing.  If you enter the
shell and use the "autoboot" command things will work as intended.  Remember
to always build as a .isarom to avoid this issue.