Bug 1257124

Summary: When grub is PXE booted it doesn't correctly determine the TFTP path for its config file
Product: [Fedora] Fedora Reporter: David Howells <dhowells>
Component: grub2Assignee: Peter Jones <pjones>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 26CC: bcl, lkundrak, mads, pjones
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-05-29 11:58:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description David Howells 2015-08-26 10:22:17 UTC
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 11:09:01 UTC
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 17:40:15 UTC
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 21:42:32 UTC
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.

Comment 4 Fedora End Of Life 2018-05-03 08:48:01 UTC
This message is a reminder that Fedora 26 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 26. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '26'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 26 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 5 Fedora End Of Life 2018-05-29 11:58:54 UTC
Fedora 26 changed to end-of-life (EOL) status on 2018-05-29. Fedora 26
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.