Appendix A Appendix
The appendix contains additional information for the Oracle VM installation process.
A.1 Setting Up PXE Boot for Oracle VM Server Release 3.4.1 and Release 3.4.2
If you are performing a PXE boot installation of Oracle VM Server Release 3.4.1 and Release 3.4.2, you should refer to the procedures in this section.
A.1.1 Setting up the GRUB2 Boot Loader
You must use the GRUB2 boot loader if you plan to perform PXE boot with UEFI-based PXE clients. You can also use the GRUB2 boot loader if your environment includes BIOS-based PXE clients as well as UEFI-based PXE clients.
A.1.1.1 Building the GRUB2 Boot Loader
Oracle VM Release 3.4.1 and Release 3.4.2 require you to build the boot loader for PXE clients.
You must mount the Oracle VM Server ISO image file and then build the GRUB2 boot loader.
-
Oracle Linux 7 or later provide the
grub2-tools
package that is required to build the GRUB2 boot loader. For this reason, you cannot build the GRUB2 boot loader on Oracle Linux 6 or earlier. -
The Oracle VM Server Release 3.4.1 and Release 3.4.2 ISO image files include a
grubx64.efi
boot loader in theEFI/BOOT/
directory. However, this boot loader is configured for installing Oracle VM Server on UEFI-based systems directly from bootable physical media. You cannot use this boot loader to perform a PXE boot.
Build the GRUB2 boot loader as follows:
-
Place the contents of the Oracle VM Server ISO image file in a directory where you have write privileges, for example, on an Oracle Linux 7 system you could do the following:
# mkdir tmp # cd tmp # mkdir iso # mount -o loop /tmp/OracleVM-Server.iso /iso # mkdir iso-contents # cp -p -R iso/* iso-contents/
-
Change to the following directory:
path
/grub2/binSubstitute
path
with the path to the contents of the Oracle VM Server ISO image file on your file system. Following on from the example in step 1:# cd iso-contents/grub2/bin/
-
Build the boot loader with the grub2-mkimage command.
-
For BIOS-based PXE clients:
grub2-mkimage -O i386-pc-pxe -d ../lib/grub/i386-pc/ \ -o core.0 -p '(tftp)/grub2' pxe tftp
-
For UEFI-based PXE clients:
grub2-mkimage -O x86_64-efi -d ../lib/grub/x86_64-efi/ \ -o core.efi -p '(tftp)/grub2' efinet tftp
In the preceding command example:
-
-O i386-pc-pxe|x86_64-efi
generates an image in thei386
orx86_64
format. -
-d
specifies the directory where the GRUB2 images and modules reside. -
-o
specifies the output file. -
-p '(tftp)/grub2'
specifies that thegrub.cfg
boot loader configuration file, GRUB2 modules, and other required files reside in thegrub2
directory on the TFTP server. -
pxe|efinet tftp
adds the GRUB2pxe
orefinet
module and thetftp
module.
-
A.1.1.2 Hosting the GRUB2 Boot Loader
Host the GRUB2 boot loader on the TFTP server so PXE clients can access it over the network, as follows:
-
Create a
grub2
directory in the TFTP root. -
Copy the boot loader to the
grub2
directory.-
For BIOS-based PXE clients:
# cp -r
path
/grub2/bin/core.0 /tftpboot/grub2/ -
For UEFI-based PXE clients:
# cp -r
path
/grub2/bin/core.efi /tftpboot/grub2/
Substitute
path
with the directory where you built the GRUB2 boot loader. -
-
Copy the GRUB2 modules and files to the appropriate directory.
-
For BIOS-based PXE clients:
# cp -r
path
/grub2/lib/grub/i386-pc/*.{lst,mod} /tftpboot/grub2/i386-pc -
For UEFI-based PXE clients:
# cp -r
path
/grub2/lib/grub/x86_64-efi/*.{lst,mod} /tftpboot/grub2/x86_64-efi
Substitute
path
with the path to the contents of the Oracle VM Server ISO image file on your file system. -
A.1.1.3 Configuring the GRUB2 Boot Loader
You must create a grub.cfg
boot loader
configuration file on the TFTP server. You can use the same
boot loader configuration file for both BIOS-based PXE clients
and UEFI-based PXE clients.
Complete the following steps:
-
Create a
grub.cfg
file.# touch /tftpboot/grub2/grub.cfg
-
Configure
grub.cfg
as appropriate. See Example grub.cfg.
Example grub.cfg
The following is an example of
grub2/grub.cfg
:
set default="1" function load_video { insmod efi_gop insmod efi_uga insmod video_bochs insmod video_cirrus insmod all_video } load_video set gfxpayload=keep insmod gzio insmod part_gpt insmod ext2 set timeout=60 ### END /etc/grub.d/00_header ### search --no-floppy --set=root -l 'Oracle VM Server' ### BEGIN /etc/grub.d/10_linux ### menuentry 'Install Oracle VM Server' --class fedora --class gnu-linux --class gnu --class os { echo 'Loading Xen...' insmod multiboot2 multiboot2 /tftpboot/ovs/xen.mn.efi dom0_mem=max:128G dom0_max_vcpus=20 noreboot echo 'Loading Linux Kernel...' # Note that the module2 statement must be a single line, the \ delimiter # indicates line breaks that you should remove module2 /tftpboot/ovs/vmlinuz ip=dhcp \ repo=nfs:n.n.n.n
:/srv/install/ovs \ ks=nfs:n.n.n.n
:/srv/install/kickstart/OVS_ks.config \ ksdevice=eth0 echo 'Loading initrd...' module2 /tftpboot/ovs/initrd.img }
In the preceding example of
efi/grub.cfg
:
-
Some parameters in
module2
statement are broken into separate lines with the\
delimiter for readability purposes. A valid configuration contains all parameters and values in a single line. -
The Xen hypervisor is loaded first from
ovs/xen.mb.efi
in the TFTP server root. -
Limits are applied to dom0 for the installer to ensure that the installer is stable while it runs. This is achieved using the default parameters:
dom0_mem=max:128G
anddom0_max_vcpus=20
. -
The installer kernel is located within the path
ovs/vmlinuz
in the TFTP server root. -
The IP address for the installer kernel is acquired using DHCP.
-
You should substitute
n.n.n.n
with the IP address of the NFS or HTTP server that hosts the contents of the Oracle VM Server ISO image file. -
The
ksdevice
parameter specifies the network interface to use. You should specify a value that reflects your network configuration, such aseth0
, a specific MAC address, or an appropriate keyword. Refer to the appropriate kickstart documentation for more information. -
The initial ramdisk image is located within the path
ovs/initrd.img
in the TFTP server root.