Well, from my very limited programming knowledge it seems like the gPXE ROM might be too big to fit into the memory location set aside for etherboot. The Etherboot ROM seems to be around 32K (0x8000) while the gPXE ROM is larger - around 45K (0xB7B9). In the tools/firmware/hvmloader/config.h file, the following locations are set:
/* Memory map. */
#define HYPERCALL_PHYSICAL_ADDRESS 0x00080000
#define VGABIOS_PHYSICAL_ADDRESS 0x000C0000
#define ETHERBOOT_PHYSICAL_ADDRESS 0x000C8000
#define VMXASSIST_PHYSICAL_ADDRESS 0x000D0000
#define SMBIOS_PHYSICAL_ADDRESS 0x000E9000
#define SMBIOS_MAXIMUM_SIZE 0x00001000
#define ACPI_PHYSICAL_ADDRESS 0x000EA000
#define ROMBIOS_PHYSICAL_ADDRESS 0x000F0000
Looks like the space between the VMXASSIT and ETHERBOOT physical addresses is 0x8000 - exactly big enough for the Etherboot ROM but not big enough for the gPXE ROM. So maybe it's just a matter of enlarging the memory location set aside for the Etherboot/gPXE ROM? Or am I completely off on the wrong track here?
Thanks - Nick
>>> On Wed, Aug 6, 2008 at 7:19 AM, Nick Couchman wrote:
I'd like to play around with booting an HVM directly off an iSCSI share. One of the ways to do this is with an iSCSI Boot ROM. The latest versions of gpxe allow for this functionality, and I was wondering if there's a somewhat-simple way to replace the etherboot .zrom file with a gpxe .rom file.
I've already tried the obvious - use rom-o-matic to generate the gpxe file for the rtl8139 network card, then use the tools/firmware/hvmloader/mkhex utility to make it into a header file, and then replace the line in the tools/firmware/hvmloader/Makefile that cats the eb-rtl8139.zrom.h file into the roms.h to cat the gpxe-rtl8139.rom.h file into the roms.h header. If I do this, then try to use the newly-generated hvmloader to boot an HVM, it doesn't want to network boot at all, even if the only boot= argument is "n".
Anyone have any hints, or is this just not possible right now?
Thanks - Nick
This e-mail may contain confidential and privileged material for the sole use of the intended recipient. If this email is not intended for you, or you are not responsible for the delivery of this message to the intended recipient, please note that this message may contain SEAKR Engineering (SEAKR) Privileged/Proprietary Information. In such a case, you are strictly prohibited from downloading, photocopying, distributing or otherwise using this message, its contents or attachments in any way. If you have received this message in error, please notify us immediately by replying to this e-mail and delete the message from your mailbox. Information contained in this message that does not relate to the business of SEAKR is neither endorsed by nor attributable to SEAKR.