Bem, depois de brincar com essa questão por semanas, eu finalmente consegui pegar o jeito. Eu tentei o que estava nos documentos do Oracle, até tentei atualizar para uma versão mais nova do OVS ISO desde que eu encontrei isso no changelog da próxima atualização (3.4.3 e 3.4.4).
Simplified UEFI PXE Boot for Oracle VM Server
As of this release, you do not need to manually build the GRUB 2 boot loader to install Oracle VM Server on UEFI-based systems in a PXE boot environment. The Oracle VM Server ISO image file provides the /EFI/BOOT/grubx64.efi boot loader for UEFI-based systems. See Installing Oracle VM Server for x86 from PXE Boot in the Oracle VM Installation and Upgrade Guide.
Usar essa versão da imagem do grub também não funcionou, não importando onde eu configurei o arquivo grub.cfg ou como eu o nomeei.
Voltei a criar minha própria imagem do grub e essas instruções funcionaram como um encanto:
-
Crie a imagem do grub com este comando:
grub2-mkimage -p '(tftp,) /' -O x86_64-efi -d / grub2 / lib / grub / x86_64-efi -o /mycore.efi efinet tftp
-
Crie o "grub.cfg" com o seguinte (não altere o nome deste arquivo) e coloque-o ao lado da imagem principal e de um subdiretório com todos os módulos do grub2:
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 ### echo "Setting root with device lable Oracle VM Server" search --no-floppy --set=root -l 'Oracle VM Server' '### BEGIN /etc/grub.d/10_linux ### menuentry 'Install Oracle VM Server 3.4.4' --class fedora --class gnu-linux --class gnu --class os { echo 'Loading Xen...' multiboot2 /isolinux/xen.gz dom0_mem=max:11582M dom0_max_vcpus=20 noreboot echo 'Loading Linux Kernel...' module2 /isolinux/vmlinuz ip=dhcp vlanid=<vlan> repo=http://<path to ISO> ks=http://<path to kickstart> ksdevice=<device mac address> echo 'Loading initrd...' module2 /isolinux/initrd.img }
-
Certifique-se também de apontar para /mycore.efi na diretiva "filename" do seu dhcp, é claro.
-
No final, meus arquivos tftp ficaram assim:
tftproot grub2 grub.cfg mycore.efi x86_64-efi *.mod isolinux initrd.img TRANS.TBL vmlinuz xen.gz
Meu erro crucial foi que eu estava nomeando o arquivo "grub2.cfg" em vez de "grub.cfg". Se eu tivesse visto isso desde o começo, talvez eu tivesse terminado isso mais rápido.
Esta resposta ajudou muito.