[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
PXE, EFI, IPv6 and Grub2
From: |
Franck Martin |
Subject: |
PXE, EFI, IPv6 and Grub2 |
Date: |
Tue, 20 Sep 2016 00:26:16 -0500 (CDT) |
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
executed...
It seems however grub2 is trying to access 38.32.0.0, 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'`
using:
$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'
net_ipv6_autoconf
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
number...
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.
Thanks
- PXE, EFI, IPv6 and Grub2,
Franck Martin <=