Bug 1114774 - bootloader.write failed: failed to set new efi boot target, system is not bootable
Summary: bootloader.write failed: failed to set new efi boot target, system is not boo...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Brian Lane
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: RejectedBlocker
: 1085507 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-06-30 23:42 UTC by Chris Murphy
Modified: 2014-10-09 19:07 UTC (History)
12 users (show)

Fixed In Version: anaconda-21.48-1
Clone Of:
Environment:
Last Closed: 2014-10-09 19:07:57 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
program.log (60.40 KB, text/plain)
2014-06-30 23:42 UTC, Chris Murphy
no flags Details
anaconda.log (39.41 KB, text/plain)
2014-06-30 23:43 UTC, Chris Murphy
no flags Details
program.log (completed) (56.26 KB, text/plain)
2014-07-01 03:45 UTC, Chris Murphy
no flags Details
patch to always write the config (2.13 KB, patch)
2014-07-10 22:21 UTC, Brian Lane
no flags Details | Diff

Description Chris Murphy 2014-06-30 23:42:20 UTC
Created attachment 913591 [details]
program.log

Description of problem: I get this message at the end of the installation process, before a grub.cfg is created. System is not bootable.


Version-Release number of selected component (if applicable):
anaconda-21.45-1.fc21.x86_64


How reproducible:
If the kernel can't write the target, this bug always happens and the system is always unbootable; and any prior OS is unbootable also.

Steps to Reproduce:
NA

Actual results:
Anaconda tries to change the NVRAM entry before creating grub.cfg.


Expected results:
Anaconda either needs to write the NVRAM entry before modifying the drive (?) to see if the NVRAM modification succeeds; or it needs to do it dead last after the grub.cfg has been created in which case the lack of a NVRAM entry is non-critical because of shim and fallback will still permit the system to boot. But not if we don't have a grub.cfg.

Additional info:

Comment 1 Chris Murphy 2014-06-30 23:43:36 UTC
Created attachment 913592 [details]
anaconda.log

Comment 2 Chris Murphy 2014-07-01 03:41:22 UTC
I just now realized there's a No and Yes button to answer the question whether I want to continue with installation anyway. I click yes, and the installation completes. However there is no /etc/default/grub, no /boot/efi/EFI/fedora/grub, and thus the system isn't bootable.

Proposing as a Fedora 21 alpha blocker.

Comment 3 Chris Murphy 2014-07-01 03:45:55 UTC
Created attachment 913625 [details]
program.log (completed)

This is the completed install program.log; previous program.log stops at the error message. So this one includes everything that happens after choosing Yes. grub2-mkconfig is not listed, hence no grub.cfg.

Comment 4 Adam Williamson 2014-07-03 21:21:15 UTC
so, I'm a bit unclear from the report. are you saying that UEFI installs always fail in Rawhide? that could be an Alpha blocker. if this bug is more "anaconda could do something a bit more elegant in the case that creating the UEFI boot manager entry fails due to some firmware problem", I find it a bit harder to count that as an Alpha blocker. could you provide a clear Alpha blocker justification?

Comment 5 Chris Murphy 2014-07-03 21:36:44 UTC
This bug is anaconda's failure to write out a grub.cfg even when I've asked it to continue with the installation. No grub.cfg, no booting of the installed system.

Right now, I'm always running into bug 1114775. That's probably a beta or final blocker, but setting an NVRAM entry is a lower priority than creating grub.cfg; and I'm missing a grub.cfg anytime I hit bug 114775.

And I'd expect that anyone else who hits that bug or any other NVRAM+kernel related bug, will also hit this bug and be unable to boot the installed Fedora.

Comment 6 Adam Williamson 2014-07-03 21:43:53 UTC
they'd be unable to boot it without manual intervention in any case, so it's not precisely clear-cut.

can you please provide a single cohesive and complete alpha blocker justification? I'm not seeing one at present, for *this* bug. cases where install already went somewhat wrong, and we'd like it not to go much further wrong, do not usually constitute alpha blockers. to my mind, #1114775 is the more likely candidate for blocker status, if it affects a sufficient number of systems: *that's* the bug where things actually go wrong, this one is damage control.

Comment 7 Chris Murphy 2014-07-04 07:10:54 UTC
Booting the installed system is an alpha release criterion:

"A system installed with a release-blocking desktop must boot ..." nothing that comes later matters in this case, because the failure happens at GRUB. I get to GRUB, but there is no menu. There's no menu because there's no grub.cfg. There's no grub.cfg because anaconda didn't create it. And the NVRAM failure doesn't prevent the creation of grub.cfg.

The entire purpose of the "continue anyway" feature was to permit completion of bootloader and postinstall operations despite NVRAM modification failures, yet the installer fails to do these things when there is NVRAM modification failure.

I'm not sure what your first sentence means. shim.efi+fallback.efi have a way to make sure the system gets to GRUB. And in fact I do get a grub rescue menu. The reason it's rescue is because there's no grub.cfg. The NVRAM boot entry is icing. The grub.cfg is cake. We must have the cake.

Comment 8 Adam Williamson 2014-07-04 07:25:37 UTC
The expected normal success case is "bootloader installation and NVRAM modification both succeed". In that case, the installed system boots, yes? It only fails in the case that NVRAM modification fails. We are already in a non-optimal case, here, not the 'typical' case.

The criterion notes include a "System-specific issues" note, reading "System-specific bugs don't necessarily constitute an infringement of this criterion - for instance, if the system fails to boot because of a bug in the support some specific system's hardware, that is unlikely to constitute a violation unless the system is an extremely popular one. See Blocker_Bug_FAQ for more discussion of this."

(I see there's a typo in that. will fix.)

Remember, we're discussing whether this blocks an Alpha release, not whether it's a bug. Clearly it's a bug, your reasoning is entirely sound there: there is a bug in the code that's meant to allow us to handle the case where NVRAM modification fails relatively gracefully. Yes. The question is whether that fallback code being buggy constitutes a reason not to make an Alpha release.

Comment 9 Chris Murphy 2014-07-04 18:36:21 UTC
(In reply to Adam Williamson (Red Hat) from comment #8)
> It only fails in the case that NVRAM modification fails. We are already in a
> non-optimal case, here, not the 'typical' case.

Non-optimal but not critical. The critical failure preventing boot is this bug, which occurs due to its own deficiency, not because of some missing prerequisite from another bug. If there were a grub.cfg, the system would boot.

> The criterion notes include a "System-specific issues" note, reading
> "System-specific bugs don't necessarily constitute an infringement of this
> criterion - for instance, if the system fails to boot because of a bug in
> the support some specific system's hardware, that is unlikely to constitute
> a violation unless the system is an extremely popular one. See
> Blocker_Bug_FAQ for more discussion of this."

a.) This bug is not system specific. It always happens when efibootmgr exit status is non-zero. Other bugs are system specific but also are themselves non-fatal. This one is fatal, and is why all of the other bugs result in installation failure.
b.) The system fails to boot directly because of this bug, not any other bug.
c.) The system is extremely popular. See the 2nd sentence of the 1st paragraph.
http://mjg59.dreamwidth.org/31714.html


> Remember, we're discussing whether this blocks an Alpha release, not whether
> it's a bug. 

And I think it should block for reasons given. It's not just about bug 1114775, it's about all NVRAM related bugs that anaconda then barfs on for no good reason, resulting in non-bootable installs. This reduces an already small UEFI test pool. Block on this bug, or block on all NVRAM related bugs, some of which we may not be able to fix due to firmware bugs?

Comment 10 Tim Flink 2014-07-09 17:28:06 UTC
Discussed at the 2014-07-09 Fedora 21 alpha blocker review meeting. While this could result in broken systems, it seems to be limited to a minority of systems and thus, is rejected as a blocker for Fedora 21 alpha.

If this turns out to affect more system types than we understood, please re-submit as a blocker.

Comment 11 Brian Lane 2014-07-10 22:21:03 UTC
Created attachment 917197 [details]
patch to always write the config

Comment 12 Peter Jones 2014-09-22 13:26:07 UTC
*** Bug 1085507 has been marked as a duplicate of this bug. ***


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