iPXE - open source boot firmware for VirtualBox
This is the new open source boot firmware for VirtualBox default Ethernet controller (Intel Corporation 82540EM Gigabit Ethernet Controller [8086:100e]) set by virtualbox scripts. This is the leading open source network boot firmware, which provides a full PXE implementation enhanced with additional features such as boot from a web server via HTTP which now used by the Fuel 8.0. Change-Id: I0b9a3f6f80ba88eb5e7f7db75834f65916af6f66 Depends-On: I26b62414e1cc0193c75f954ed7ed76570a4bf2f6 Doc-Impact: ops-guide Closes-Bug: 1527474
This commit is contained in:
parent
c5cbe939d6
commit
8436205d92
|
@ -70,6 +70,16 @@ if [ "$extpacks" -le 0 ]; then
|
|||
fi
|
||||
echo "OK"
|
||||
|
||||
# Check for VirtualBox iPXE firmware
|
||||
echo -n "Checking for VirtualBox iPXE firmware..."
|
||||
if [ -z $pxe_path ]; then
|
||||
echo "VirtualBox iPXE firmware is not found. Please put it under the 'drivers' directory."
|
||||
exit 1
|
||||
fi
|
||||
execute VBoxManage setextradata global VBoxInternal/Devices/pcbios/0/Config/LanBootRom "$(pwd)/$pxe_path" 2>/dev/null
|
||||
echo "OK"
|
||||
echo "Going to use iPXE boot firmware file $pxe_path"
|
||||
|
||||
# Check for ISO image to be available
|
||||
echo -n "Checking for Mirantis OpenStack ISO image... "
|
||||
if [ -z $iso_path ]; then
|
||||
|
|
|
@ -20,6 +20,9 @@ source ./functions/shell.sh
|
|||
# Get the first available ISO from the directory 'iso'
|
||||
iso_path=`ls -1t iso/*.iso 2>/dev/null | head -1`
|
||||
|
||||
# get the first available iPXE boot firmware from the directory 'drivers'
|
||||
pxe_path=`ls -1t drivers/*.isarom 2>/dev/null | head -1`
|
||||
|
||||
# Every Mirantis OpenStack machine name will start from this prefix
|
||||
vm_name_prefix=fuel-
|
||||
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1,52 @@
|
|||
# iPXE - open source boot firmware for VirtualBox
|
||||
|
||||
This is a prebuilt binary version of **iPXE** as an **VirtualBox PXE ROM**.
|
||||
|
||||
The **iPXE** source code is maintained in a git repository. You can check out a copy of the code using:
|
||||
|
||||
```
|
||||
git clone git://git.ipxe.org/ipxe.git
|
||||
```
|
||||
|
||||
and build it using:
|
||||
|
||||
```
|
||||
cd ipxe/src
|
||||
make
|
||||
```
|
||||
|
||||
You will need to have at least the following packages installed in order to build **iPXE**:
|
||||
|
||||
```
|
||||
* gcc (version 3 or later)
|
||||
* binutils (version 2.18 or later)
|
||||
* make
|
||||
* perl
|
||||
* syslinux (for isolinux, only needed for building .iso images)
|
||||
* liblzma or xz header files
|
||||
* zlib, binutils and libiberty header files (only needed for EFI builds)
|
||||
```
|
||||
|
||||
to build this **Intel 82540EM Gigabit Ethernet PXE ROM** for VirtualBox use:
|
||||
|
||||
```
|
||||
make CONFIG=vbox bin/8086100e.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/8086100e.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.
|
||||
|
||||
You can find **iPXE** at the official site of the project: <http://ipxe.org/>.
|
Loading…
Reference in New Issue