Bug 1148652
Summary: | grub2 sometimes uses the wrong config path when netbooting | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Dan Callaghan <dcallagh> |
Component: | grub2 | Assignee: | Peter Jones <pjones> |
Status: | CLOSED ERRATA | QA Contact: | Release Test Team <release-test-team-automation> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 7.0 | CC: | alemay, asaha, blc, jburke, mbanas, pjones, rwilliam |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | ppc64le | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | grub2-2.02-0.15.el7 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-03-05 11:21: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: | |||
Bug Depends On: | |||
Bug Blocks: | 1109875, 1163882, 1168850, 1179458, 1180596 |
Description
Dan Callaghan
2014-10-02 03:41:00 UTC
Andrew, can you please confirm that the description in comment 0 is right? I also noticed that grub2-mknetdir takes a --subdir= option, it's not documented anywhere except this random man page from the internet: http://www.linuxhowtos.org/manpages/8/grub2-mknetdir.htm so I don't know if it is expected to have any influence over the paths used in GRUB. Andrew, can you confirm that you didn't use --subdir when you produced any of the netboot trees? Or maybe you used --subdir=ppc/ which is what gave us the ppc/ directory in the config paths in the working case? Just adding a note here for docs to find as to what the currently defined order *is*. This is assuming: 1) 7726a678-7fc0-4853-a4f6-c85ac36a120a <-- client uuid. Each nic has one of these, and they're not ever this particular value 2) 52:54:00:ec:33:81 <-- random mac address I've chosen. 3) fw_path is the grub-style path of where grub got loaded from, i.e. (tftp)/some/directory/ . If it starts with (tftp), it'll try: $(fw_path)/grub.cfg-7726a678-7fc0-4853-a4f6-c85ac36a120a $(fw_path)/grub.cfg-01-52-54-00-ec-33-81 $(fw_path)/grub.cfg-0A000082 $(fw_path)/grub.cfg-0A00008 $(fw_path)/grub.cfg-0A0000 $(fw_path)/grub.cfg-0A000 $(fw_path)/grub.cfg-0A00 $(fw_path)/grub.cfg-0A0 $(fw_path)/grub.cfg-0A $(fw_path)/grub.cfg-0 $(fw_path)/grub.cfg (If you're using IPv6, it'll just try the whole IPv6 address once; it won't try one character shorter at a time.) If $fw_path and $prefix are different, and it still hasn't found anything, it'll try all that again with $(prefix) _if_ it starts with (tftp). Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-0492.html Peter, I'm trying out a similar setup on x86_64 EFI and I am seeing this same (buggy) behaviour. To produce the TFTP netboot tree I ran: grub2-mknetdir --net-directory=/var/lib/tftpboot with: grub2-2.02-0.16.el7.x86_64 grub2-efi-modules-2.02-0.16.el7.x86_64 Shouldn't this bug be fixed in that package? Does x86_64 EFI need to be fixed separately? Should I open a new BZ, or am I doing something wrong? (In reply to Dan Callaghan from comment #16) Seems like fw_path on EFI is being set incorrectly (too many path components stripped) which is causing GRUB to use the wrong config path. I've filed a separate bug about it: bug 1211101. |