Bug 1257124 - When grub is PXE booted it doesn't correctly determine the TFTP path for its config file
When grub is PXE booted it doesn't correctly determine the TFTP path for its ...
Status: NEW
Product: Fedora
Classification: Fedora
Component: grub2 (Show other bugs)
26
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Peter Jones
Fedora Extras Quality Assurance
: Reopened
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-08-26 06:22 EDT by David Howells
Modified: 2017-06-27 17:42 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-07-19 13:40:15 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description David Howells 2015-08-26 06:22:17 EDT
Description of problem:

Using Fedora-Workstation-netinst-x86_64-22.iso as the source of the files, I PXE booted the BOOTX64.EFI file (as /data/tftp/shim.efi).  This then correctly requested /data/tftp/grubx64.efi and booted into grub.

grub, however, then requested "//data/grub.cfg" + machine determiner - which is wrong.  It should've asked for "/data/tftp/grub.cfg" + machine determiner instead.  I could give the following command on the grub commandline:

    configfile /data/tftp/grub.cfg

which then worked.

[The machine determiner is a complete or partial MAC address or blank and it iterates through them until one works]

To determine the path actually used, I watched the TFTP traffic with wireshark on the TFTP server.

Version-Release number of selected component (if applicable):

I'm not certain, but whatever is built into the installer ISO.

How reproducible:

100%

Steps to Reproduce:
1. Set up to PXE boot a text box with the shim and grub where these and the config file are stored in at least a 2-level directory structure, eg. "/data/tftp/".
2. Watch the TFTP traffic with wireshark
3. Boot the test box

Actual results:

Grub comes to a "grub>" prompt.  Wireshark shows a series of failed TFTP requests for "//data/grub.cfg" with various determiners appended.

Expected results:

Grub should find its config file (if present).  Even if not present, wireshark should show a series of TFTP requests for "/data/tftp/grub.cfg" with various determiners appended.

Additional info:
Comment 1 David Howells 2015-08-26 07:09:01 EDT
In the dhcpd.conf, there is the following:

subnet 192.168.1.0 netmask 255.255.255.0 {
	authoritative;
	option subnet-mask 255.255.255.0;
	option broadcast-address 192.168.1.255;
	option routers 192.168.1.254;
	option domain-name-servers 217.169.20.20, 217.169.20.21;
	option domain-name "wireless.procyon.org.uk";
	next-server 90.155.74.18;
	filename "/data/tftp/pxelinux.0";

        ...
	host galaxy {
		hardware ethernet 54:ee:75:60:48:23;
		fixed-address 192.168.1.7;
		filename "/data/tftp/shim.efi";
	}
        ...
}
Comment 2 Fedora End Of Life 2016-07-19 13:40:15 EDT
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.
Comment 3 David Howells 2017-06-27 17:42:32 EDT
This has changed slightly in grub2-efi-2.02-0.40.  It now looks for "/data/grub.cfg" instead - but this is still wrong.

It should be noted that the RHEL PXE booted EFI grub that I've been using gets this right.  The version of that appears to be 2.02~beta2, I think from RHEL-7.

Note You need to log in before you can comment on or make changes to this bug.