Created attachment 1622363 [details]
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.
problem present in openqa tests too, see https://openqa.stg.fedoraproject.org/tests/637267
Looks to me that it broke with Fedora-31-20190928.n.0, it was passing before before.
And because grub hasn't changed since August 7th, it will be some other change ...
(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.
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?
I launched a scratch build with a fix for this to test (I guess this can be done with rpm-ostree?):
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.
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
FEDORA-2019-0d28cb97a0 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-0d28cb97a0
(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.
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
This seems like it should get an FE, so we're building working Silverblue images...
Discussed during the 2019-10-21 blocker review meeting: 
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.
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.