On 2018-10-18 2:37 a.m., Samuel Sieb wrote:
On 10/17/18 3:54 PM, Digimer wrote:
> First, do you have docs/links/reference material you might recommend on
> building a Fedora-based UEFI PXE server? I'd love to try and get further
> on my own and keep questions to a minimum.
I don't remember where I found information. I know I had to figure out
quite a bit of it myself. There might be better references now.
> Right now, I've got a KVM/qemu guest configured with UEFI. I've setup
> the following;
>
> ====
> [root@f28-striker01 fedora28]# cat /var/lib/tftpboot/pxelinux/uefi
I assume there was supposed to be a "grub.cfg" at the end of that line.
It looks ok, but you aren't getting to that yet anyway.
> When I PXE boot the UEFI guest, it gets the IP from the PXE server,
> downloads uefi/shim.efi, then hangs on 'Fetching Netboot image'. It
> never shows a menu.
>
> ==== (on EFI guest, transcribed manually)
>>> Start PXE over IPv4
> Station IP address is 10.1.14.186
>
> Server IP address is 10.1.4.1
> NBP filename is uefi/shim.efi
> NBP filesize is 1210776 Bytes
> Downloading NBP file...
>
> NBP file downloaded successfully.
> Fetching Netboot Image
> ====
>
> And there it hangs. I'm not sure how to debug to see more detail on what
> it is trying to do. This UEFI PXE booting is totally new for me, so I
> may be missing something terribly obvious.
If you could get a log of requests from the tftp server that would have
helped you. However, I don't think it does that. Many times I used
strace on the tftp server to find out what requests it was getting.
I'm guessing that you are missing the "grubx64.efi" file that shim wants
to load. You should be able to get that from the install iso as well.
Hi,
I have grubx64.efi, and when I tcpdump the tftp server when the client
requests, I can see it downloads it;
====
11:31:11.024630 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP,
Request from 52:54:00:27:d4:0b (oui Unknown), length 347
11:31:11.032593 ARP, Request who-has 10.1.14.186 tell
f28-striker01.alteeve.com, length 28
11:31:12.033897 IP f28-striker01.alteeve.com.bootps >
255.255.255.255.bootpc: BOOTP/DHCP, Reply, length 300
11:31:12.063310 ARP, Request who-has 10.1.14.186 tell
f28-striker01.alteeve.com, length 28
11:31:12.089696 IP6 :: > ff02::2: ICMP6, router solicitation, length 8
11:31:12.397267 IP6 fe80::fc54:ff:fe2b:6179.mdns > ff02::fb.mdns: 0 PTR
(QM)? _googlecast._tcp.local. (40)
11:31:12.397523 IP6 fe80::fc54:ff:fe2b:6179.mdns > ff02::fb.mdns: 0 PTR
(QM)? _googlecast._tcp.local. (40)
11:31:13.087302 ARP, Request who-has 10.1.14.186 tell
f28-striker01.alteeve.com, length 28
11:31:13.398560 IP6 fe80::fc54:ff:fe2b:6179.mdns > ff02::fb.mdns: 0 PTR
(QM)? _googlecast._tcp.local. (40)
11:31:13.398714 IP6 fe80::fc54:ff:fe2b:6179.mdns > ff02::fb.mdns: 0 PTR
(QM)? _googlecast._tcp.local. (40)
11:31:14.989830 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP,
Request from 52:54:00:27:d4:0b (oui Unknown), length 359
11:31:14.997147 IP f28-striker01.alteeve.com.bootps >
255.255.255.255.bootpc: BOOTP/DHCP, Reply, length 300
11:31:14.999026 ARP, Request who-has
f28-striker01.alteeve.com tell
10.1.14.186, length 28
11:31:14.999055 ARP, Reply
f28-striker01.alteeve.com is-at
52:54:00:2b:61:79 (oui Unknown), length 28
11:31:14.999202 IP 10.1.14.186.gridgen-elmd >
f28-striker01.alteeve.com.tftp: 43 RRQ "uefi/shim.efi" octet tsize 0
blksize 1482
11:31:15.006565 IP f28-striker01.alteeve.com.54233 >
10.1.14.186.gridgen-elmd: UDP, length 29
11:31:15.006964 IP 10.1.14.186.gridgen-elmd >
f28-striker01.alteeve.com.54233: UDP, length 30
# Grabs shim.efi
11:31:15.010734 IP 10.1.14.186.simba-cs >
f28-striker01.alteeve.com.tftp: 35 RRQ "uefi/shim.efi" octet blksize 1482
11:31:15.011940 IP f28-striker01.alteeve.com.36986 >
10.1.14.186.simba-cs: UDP, length 15
11:31:15.012474 IP 10.1.14.186.simba-cs >
f28-striker01.alteeve.com.36986: UDP, length 4
11:31:15.012543 IP f28-striker01.alteeve.com.36986 >
10.1.14.186.simba-cs: UDP, bad length 1486 > 1472
11:31:15.012568 IP
f28-striker01.alteeve.com > 10.1.14.186: udp
....
11:31:15.142179 IP 10.1.14.186.simba-cs >
f28-striker01.alteeve.com.36986: UDP, length 4
11:31:15.142193 IP f28-striker01.alteeve.com.36986 >
10.1.14.186.simba-cs: UDP, bad length 1486 > 1472
11:31:15.142198 IP
f28-striker01.alteeve.com > 10.1.14.186: udp
11:31:15.142307 IP 10.1.14.186.simba-cs >
f28-striker01.alteeve.com.36986: UDP, length 4
11:31:15.142320 IP f28-striker01.alteeve.com.36986 >
10.1.14.186.simba-cs: UDP, length 1468
11:31:15.142397 IP 10.1.14.186.simba-cs >
f28-striker01.alteeve.com.36986: UDP, length 4
# Grabs grubx64.efi
11:31:15.145491 IP 10.1.14.186.aspeclmd >
f28-striker01.alteeve.com.tftp: 37 RRQ "uefi/grubx64.efi" octet blksize 512
11:31:15.146499 IP f28-striker01.alteeve.com.57530 >
10.1.14.186.aspeclmd: UDP, length 14
11:31:15.146924 IP 10.1.14.186.aspeclmd >
f28-striker01.alteeve.com.57530: UDP, length 4
11:31:15.146968 IP f28-striker01.alteeve.com.57530 >
10.1.14.186.aspeclmd: UDP, length 516
....
11:31:15.356933 IP f28-striker01.alteeve.com.57530 >
10.1.14.186.aspeclmd: UDP, length 516
11:31:15.357052 IP 10.1.14.186.aspeclmd >
f28-striker01.alteeve.com.57530: UDP, length 4
11:31:15.357068 IP f28-striker01.alteeve.com.57530 >
10.1.14.186.aspeclmd: UDP, length 332
11:31:15.357156 IP 10.1.14.186.aspeclmd >
f28-striker01.alteeve.com.57530: UDP, length 4
11:31:15.399554 IP6 fe80::fc54:ff:fe2b:6179.mdns > ff02::fb.mdns: 0 PTR
(QM)? _googlecast._tcp.local. (40)
11:31:15.399774 IP6 fe80::fc54:ff:fe2b:6179.mdns > ff02::fb.mdns: 0 PTR
(QM)? _googlecast._tcp.local. (40)
11:31:20.191316 ARP, Request who-has 10.1.14.186 tell
f28-striker01.alteeve.com, length 28
====
--
Digimer
Papers and Projects:
https://alteeve.com/w/
"I am, somehow, less interested in the weight and convolutions of
Einstein’s brain than in the near certainty that people of equal talent
have lived and died in cotton fields and sweatshops." - Stephen Jay Gould