From 64dc45a4dc55393caef2815ea6a415eeda045293 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robin=20Smidsr=C3=B8d?= Date: Thu, 21 Aug 2014 16:59:17 +0200 Subject: [PATCH] [build] Add named configuration for VirtualBox Signed-off-by: Michael Brown --- src/config/vbox/README | 16 ++++++++++++++++ src/config/vbox/colour.h | 0 src/config/vbox/console.h | 0 src/config/vbox/crypto.h | 0 src/config/vbox/embedded.ipxe | 5 +++++ src/config/vbox/general.h | 28 ++++++++++++++++++++++++++++ src/config/vbox/serial.h | 0 src/config/vbox/settings.h | 0 src/config/vbox/sideband.h | 0 9 files changed, 49 insertions(+) create mode 100644 src/config/vbox/README create mode 100644 src/config/vbox/colour.h create mode 100644 src/config/vbox/console.h create mode 100644 src/config/vbox/crypto.h create mode 100644 src/config/vbox/embedded.ipxe create mode 100644 src/config/vbox/general.h create mode 100644 src/config/vbox/serial.h create mode 100644 src/config/vbox/settings.h create mode 100644 src/config/vbox/sideband.h diff --git a/src/config/vbox/README b/src/config/vbox/README new file mode 100644 index 000000000..2725eea33 --- /dev/null +++ b/src/config/vbox/README @@ -0,0 +1,16 @@ +Build using this command line: + +make CONFIG=vbox EMBED=config/vbox/embedded.ipxe bin/intel--virtio-net--pcnet32.rom + +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. + +The embedded script is required because VirtualBox uses the ROM as an ISA +ROM, which will not perform any autoboot behavior. The bundled embedded +script reproduces the default autoboot behavior. + +To use the ROM in VirtualBox you need to enable it using this command: + +vboxmanage setextradata global \ + VBoxInternal/Devices/pcbios/0/Config/LanBootRom \ + path/to/intel--virtio-net--pcnet32.rom diff --git a/src/config/vbox/colour.h b/src/config/vbox/colour.h new file mode 100644 index 000000000..e69de29bb diff --git a/src/config/vbox/console.h b/src/config/vbox/console.h new file mode 100644 index 000000000..e69de29bb diff --git a/src/config/vbox/crypto.h b/src/config/vbox/crypto.h new file mode 100644 index 000000000..e69de29bb diff --git a/src/config/vbox/embedded.ipxe b/src/config/vbox/embedded.ipxe new file mode 100644 index 000000000..ea34b30f7 --- /dev/null +++ b/src/config/vbox/embedded.ipxe @@ -0,0 +1,5 @@ +#!ipxe +prompt --key 0x02 --timeout 2000 Press Ctrl-B to enter the iPXE shell... && shell || goto auto +exit +:auto +autoboot diff --git a/src/config/vbox/general.h b/src/config/vbox/general.h new file mode 100644 index 000000000..3ebecd68c --- /dev/null +++ b/src/config/vbox/general.h @@ -0,0 +1,28 @@ +/* Disabled from config/defaults/pcbios.h */ + +#undef IMAGE_ELF +#undef IMAGE_MULTIBOOT +#undef SANBOOT_PROTO_ISCSI +#undef SANBOOT_PROTO_AOE +#undef SANBOOT_PROTO_IB_SRP +#undef SANBOOT_PROTO_FCP +#undef REBOOT_CMD +#undef CPUID_CMD + +/* Disabled from config/general.h */ + +#undef DOWNLOAD_PROTO_HTTP +#undef CRYPTO_80211_WEP +#undef CRYPTO_80211_WPA +#undef CRYPTO_80211_WPA2 +#undef IWMGMT_CMD +#undef FCMGMT_CMD +#undef SANBOOT_CMD +#undef MENU_CMD +#undef LOGIN_CMD +#undef SYNC_CMD + +/* Ensure ROM banner is not displayed */ + +#undef ROM_BANNER_TIMEOUT +#define ROM_BANNER_TIMEOUT 0 diff --git a/src/config/vbox/serial.h b/src/config/vbox/serial.h new file mode 100644 index 000000000..e69de29bb diff --git a/src/config/vbox/settings.h b/src/config/vbox/settings.h new file mode 100644 index 000000000..e69de29bb diff --git a/src/config/vbox/sideband.h b/src/config/vbox/sideband.h new file mode 100644 index 000000000..e69de29bb