Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1758225

Summary: Missing mandatory option for `class' after SilverBlue install
Product: [Fedora] Fedora Reporter: Éric Fintzel <efintzel>
Component: grub2Assignee: Peter Jones <pjones>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 31CC: awilliam, dan, fmartine, gmarr, lkundrak, menantea, pjones
Target Milestone: ---   
Target Release: ---   
Hardware: ppc64le   
OS: Linux   
Whiteboard: AcceptedFreezeException
Fixed In Version: grub2-2.02-98.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-10-22 03:50:45 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: 1071880, 1644940    
Attachments:
Description Flags
(ieee1275/disk,msdos2)/grub2/grub.cfg File none

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.