I'm trying to PXE boot over IPv6 and grub2 

I have this in my dhcpd6.conf 
option dhcp6.bootfile-url "tftp://[2620:0:0:1::245]/bootx64.efi";; 

The system boots, I can see the bootx64.efi is getting downloaded and 

It seems however grub2 is trying to access, which is the mangled 
version of 2620:0. I'm not sure if this is a problem with the PXE firmware or 
with grub2 which cannot understand that it got started over IPv6... with grub2 
prompt I can see that fw_path is mangled... 

So I went a bit further by creating my own bootx64.efi 
grub2-mkimage -o bootx64.efi -c efiboot.cfg -O x86_64-efi 
--prefix="http,2620:0:0:1::245" `find /usr/lib/grub/x86_64-efi/*.mod | xargs | 
sed -e 's/\.mod//g' | sed -e 's/\/usr\/lib\/grub\/x86_64-efi\///g'` 

$cat efiboot.cfg 
set timeout=5 
set prefix='(http,2620:0:0:1::245)' 
set root='(http,2620:0:0:1::245)' 
set pxe_default_server='2620:0:0:1::245' 
linux /vmlinuz 
initrd /initrd.img 

I have swapped tftp and http and both seems to be have the same.... 

I get an error that prefix is not set 
It also tells me that I need to set the kernel first... 
then I see it tries to access grub.cfg in the right location and also that it 
downloads vmlinuz (progress bars are totally weird and useless) 

Then when I suspect it tries to boot the kernel, it complains about magic 

I'm not sure how I should create a default cfg file to use with bootx64.efi, or 
just to place in the root of my tftp or http server for the system to boot. 

I would need also to pass some parameter to initrd.img and not sure how I can 
do that within grub.cfg 

I use redhat7 with grub2.02-beta2 

any help much appreciated. 

Help-grub mailing list

Reply via email to