Skip to content

Instantly share code, notes, and snippets.

@MaxPeal
Created September 12, 2017 20:58
Show Gist options
  • Save MaxPeal/c82a9aafd07aa23d213500f083eac08e to your computer and use it in GitHub Desktop.
Save MaxPeal/c82a9aafd07aa23d213500f083eac08e to your computer and use it in GitHub Desktop.
VirtualBox iPxeBiosBin.rom
C:\Program Files\Oracle\VirtualBox\ExtensionPacks\Oracle_VM_VirtualBox_Extension_Pack\PXE-Intel.rom
https://www.virtualbox.org/browser/vbox/trunk/src/VBox/Devices/PC/ipxe/Makefile.kmk
https://www.virtualbox.org/export/68696/vbox/trunk/src/VBox/Devices/PC/ipxe/iPxeBiosBin.rom
https://www.virtualbox.org/ticket/13628
C:\>"c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "iPXE_NO-intelPXE Clone" VBoxInternal/Devices/pcbios/0/Config/LanBootRom iPxeBiosBin.rom
https://github.com/nielsbasjes/ipxe-boot-rom
VirtualBox LAN boot ROM Size
On this site https://gist.github.com/robinsmidsrod/4001104 it says this about the size:
include/iprt/cdefs.h
1888:#define _64K 0x00010000
src/VBox/Devices/PC/DevPcBios.h
43:#define VBOX_LANBOOT_SEG 0xe200
src/VBox/Devices/PC/DevPcBios.cpp
1348: if (cbFileLanBoot > _64K - (VBOX_LANBOOT_SEG << 4 & 0xffff))
$ perl -e 'printf "%x\n", 0x10000 - 0xe200 << 4 & 0xffff'
e000
$ perl -e 'printf "%d\n", 0x10000 - 0xe200 << 4 & 0xffff'
57344
So the conclusion is that the maximum size of a ROM is 0xE000 bytes (= 57344)
Installing the new LAN boot ROM into VirtualBox
See: http://etherboot.org/wiki/romburning/vbox
8086100e.rom is the LAN boot ROM for the Intel PRO/1000 MT Desktop (82540EM) which is the default when you have the VirtualBox Extension Pack installed.
Create a virtual machine ( Here I call it "Hadoop Client" ) and do settings that you want to boot from network
Copy the 8086100e.rom into the directory of that VM
Add the ROM image to the VM config:
Under Linux:
vboxmanage setextradata "Hadoop Client" VBoxInternal/Devices/pcbios/0/Config/LanBootRom 8086100e.rom
Under Windows:
"c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "Hadoop Client" VBoxInternal/Devices/pcbios/0/Config/LanBootRom "C:\VirtualBox VMs\Hadoop Client\8086100e.rom"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment