Bug 1758225 - Missing mandatory option for `class' after SilverBlue install
Summary: Missing mandatory option for `class' after SilverBlue install
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: grub2
Version: 31
Hardware: ppc64le
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Peter Jones
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedFreezeException
Depends On:
Blocks: PPCTracker F31FinalFreezeException
TreeView+ depends on / blocked
 
Reported: 2019-10-03 15:35 UTC by Éric Fintzel
Modified: 2019-10-22 03:50 UTC (History)
7 users (show)

Fixed In Version: grub2-2.02-98.fc31
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-10-22 03:50:45 UTC
Type: Bug


Attachments (Terms of Use)
(ieee1275/disk,msdos2)/grub2/grub.cfg File (16.56 KB, text/plain)
2019-10-03 15:35 UTC, Éric Fintzel
no flags Details

Description Éric Fintzel 2019-10-03 15:35:33 UTC
Created attachment 1622363 [details]
(ieee1275/disk,msdos2)/grub2/grub.cfg File

Description of problem:
Install of SilbverBlue (Fedora-Silverblue-ostree-ppc64le-31-20191001.n.0.iso) seems to be OK, but after system reboot the following error occurs:

...
Trying to load:  from: /vdevice/v-scsi@71000002/disk@8000000000000000 ...   Successfully loaded
error: ../../grub-core/lib/arg.c:361:missing mandatory option for `class'.

      Minimal BASH-like line editing is supported. For the first word,
      TAB lists possible command completions. Anywhere else TAB lists
      possible device or file completions.


grub>

Comment 1 Menanteau Guy 2019-10-03 15:40:36 UTC
problem present in openqa tests too, see https://openqa.stg.fedoraproject.org/tests/637267

Comment 2 Dan Horák 2019-10-03 16:07:35 UTC
Looks to me that it broke with Fedora-31-20190928.n.0, it was passing before before.

Comment 3 Dan Horák 2019-10-03 16:10:13 UTC
And because grub hasn't changed since August 7th, it will be some other change ...

Comment 4 Javier Martinez Canillas 2019-10-04 15:05:03 UTC
(In reply to Dan Horák from comment #3)
> And because grub hasn't changed since August 7th, it will be some other
> change ...

I think is a bug on grub2 that was masked by the fact that the ostree-grub2 package still added menu entries in the grub config even with BLS enabled. This caused duplicated entries in the grub menu (for x86_64 at least, it seems that for ppc64le these were the only ones that were generated correctly).

But after https://github.com/ostreedev/ostree/pull/1929/commits/94f60aff0f9856f28595bede7a55cf4536cc2f82 the ostree-grub2 package didn't add menu entries any more and that exposed this bug.

So the problem is that for ppc64le we don't really use the BLS support in grub2 (because that's only supported with OF, with OPAL the support is in Petitboot and we can't assume that all the PowerNV have a recent version of Petitboot with BLS support) and instead generate the menu entries similar to what ostree-grub2 does. But the script generating this assumed that the BLS snippets have additional fields that allow to define additional menuentry command options such as users and class. And the BLS snippets created by OSTree don't have this.

Éric,

Can you edit the /boot/grub2/grub.cfg? If that's the case, can you please attempt to remove the --class option from the menuentry commands?

Comment 5 Javier Martinez Canillas 2019-10-04 15:35:30 UTC
I launched a scratch build with a fix for this to test (I guess this can be done with rpm-ostree?):

https://koji.fedoraproject.org/koji/taskinfo?taskID=38053734

Comment 6 Éric Fintzel 2019-10-07 15:31:05 UTC
Well done !

Grub2 2.02-98.fc31 fix tested on a ppc64le with success.

On a fresh install, and before rebooting:
- Switching to the Anaconda screen shell
- Chroot into /mnt/sysroot
- Enforce /usr in rw mode
- Scp of the grub2*[common|ppc64le].rpm files in /dev/shm
- grub2-install onto the PReP partition (use --no-nvram to avoid the ofpathname error, maybe a solution for RHBZ#1725925 ?)
- grub2-mkconfig -o /boot/gurb2/grub.cfg
- Exit chroot
- And reboot

The VM reboot and start until the login prompt.

Comment 7 Éric Fintzel 2019-10-07 15:35:06 UTC
After scp of grub2*[common|ppc64le].rpm files, grub2 is updated with:

[anaconda root@vm56 shm]# rpm -Uvh ./grub2-common-2.02-98.fc31.noarch.rpm ./grub2-debuginfo-2.02-98.fc31.ppc64le.rpm ./grub2-debugsource-2.02-98.fc31.ppc64le.rpm ./grub2-ppc64le-2.02-98.fc31.ppc64le.rpm ./grub2-ppc64le-modules-2.02-98.fc31.noarch.rpm ./grub2-tools-2.02-98.fc31.ppc64le.rpm ./grub2-tools-debuginfo-2.02-98.fc31.ppc64le.rpm ./grub2-tools-extra-2.02-98.fc31.ppc64le.rpm ./grub2-tools-extra-debuginfo-2.02-98.fc31.ppc64le.rpm ./grub2-tools-minimal-2.02-98.fc31.ppc64le.rpm ./grub2-tools-minimal-debuginfo-2.02-98.fc31.ppc64le.rpm

Comment 8 Fedora Update System 2019-10-07 16:08:52 UTC
FEDORA-2019-0d28cb97a0 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-0d28cb97a0

Comment 9 Javier Martinez Canillas 2019-10-07 16:11:48 UTC
(In reply to Éric Fintzel from comment #6)
> Well done !
> 
> Grub2 2.02-98.fc31 fix tested on a ppc64le with success.
> 
> On a fresh install, and before rebooting:
> - Switching to the Anaconda screen shell
> - Chroot into /mnt/sysroot
> - Enforce /usr in rw mode
> - Scp of the grub2*[common|ppc64le].rpm files in /dev/shm
> - grub2-install onto the PReP partition (use --no-nvram to avoid the
> ofpathname error, maybe a solution for RHBZ#1725925 ?)
> - grub2-mkconfig -o /boot/gurb2/grub.cfg
> - Exit chroot
> - And reboot
> 
> The VM reboot and start until the login prompt.

Thanks a lot for testing!

I've created an update for grub2, it would be great if you could provide some karma.

Comment 10 Fedora Update System 2019-10-08 21:42:12 UTC
grub2-2.02-98.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-0d28cb97a0

Comment 11 Adam Williamson 2019-10-20 04:27:41 UTC
This seems like it should get an FE, so we're building working Silverblue images...

Comment 12 Geoffrey Marr 2019-10-21 18:53:18 UTC
Discussed during the 2019-10-21 blocker review meeting: [0]

The decision to classify this bug as an "AcceptedFreezeException" was made as we believe fixing a significant image on ppc64le is at least potentially worth the risk.

[0] https://meetbot.fedoraproject.org/fedora-blocker-review/2019-10-21/f31-blocker-review.2019-10-21-16.00.txt

Comment 13 Fedora Update System 2019-10-22 03:50:45 UTC
grub2-2.02-98.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.


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