ROM firmware is optional now

ROM firmware is optional now and should be used only by user choice.
It should be named as 'FirmwareName.isarom' placed under 'drivers/' directory.
In the same directory placed an example firmware and some information.

Change-Id: I5841deacacacf39c9c654828c44a869ef996044b
Depends-On: Id1f0d9e32487bcd902940311ed8d8bef4129fdaf
Doc-Impact: ops-guide
Closes-Bug: 1528186
Closes-Bug: 1527474
This commit is contained in:
Maksim Malchuk 2015-12-21 21:59:38 +03:00
parent a08d3d640c
commit a1bf0cf649
7 changed files with 61 additions and 58 deletions

View File

@ -73,12 +73,14 @@ 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
echo "SKIP"
echo "VirtualBox iPXE firmware is not found. Used standard firmware from the VirtualBox Extension Pack."
execute VBoxManage setextradata global VBoxInternal/Devices/pcbios/0/Config/LanBootRom
else
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"
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... "

View File

@ -21,7 +21,7 @@ source ./functions/shell.sh
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`
pxe_path=`ls -1t drivers/*.*rom 2>/dev/null | head -1`
# Every Mirantis OpenStack machine name will start from this prefix
vm_name_prefix=fuel-

View File

@ -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/>.

View File

@ -1,52 +1 @@
# 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/>.
Put ROM firmware in this folder