GNU GRUB - Bugs: bug #63481, 30_os-prober test...
You are not allowed to post comments on this tracker with your current authentication level.
bug #63481: 30_os-prober test GRUB_OS_PROBER_SKIP_LIST wrong
Submitter: | David Garfield <divad27182> | ||
Submitted: | Wed 07 Dec 2022 11:04:02 AM UTC | ||
Category: | Configuration | Severity: | Major |
Priority: | 5 - Normal | Item Group: | Software Error |
Status: | None | Privacy: | Public |
Assigned to: | None | Originator Name: | David Garfield |
Open/Closed: | Open | Release: | other |
Release: | Reproducibility: | Every Time | |
Planned Release: | None |
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
Carbon-Copy List
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
No changes have been made to this item
According to the documentation, the @name clause is added to the test string for EFI chainloaders. This is based on os-prober outputting the same clause.
os-prober output data seems to make the first field be either a device name, or a device name "@" chainloader path. Unfortunately, the test for the presence of the @ reads:
if [ x"${DEVICE#*@}" != x ] ; then
This tests for the presence of something after the "@", but is always true if there is no "@".
I think the test should read:
if [ x"${DEVICE#*@}" != x"${DEVICE}" ] ; then
It may be that a combined test (differentiating "A", "A@", and "A@B") may be needed, if os-prober has changed its output format.
This is line 124 of util/grub.d/30_os-prober.in in grub-2.06