Bug 1695913 - --noformat doesn't work on EFI system partitions
Summary: --noformat doesn't work on EFI system partitions
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-blivet
Version: 30
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Blivet Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1572602 1695911
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-04-03 21:47 UTC by Doug Ledford
Modified: 2020-04-09 14:44 UTC (History)
11 users (show)

Fixed In Version: python-blivet-3.2.1-1.fc32
Clone Of: 1695911
Environment:
Last Closed: 2020-04-09 14:44:26 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
anaconda.log (33.45 KB, text/plain)
2019-04-04 15:00 UTC, Doug Ledford
no flags Details
dbus.log (2.92 KB, text/plain)
2019-04-04 15:00 UTC, Doug Ledford
no flags Details
program.log (142.11 KB, text/plain)
2019-04-04 15:02 UTC, Doug Ledford
no flags Details
storage.log (734.25 KB, text/plain)
2019-04-04 15:03 UTC, Doug Ledford
no flags Details
syslog (330.12 KB, text/plain)
2019-04-04 15:04 UTC, Doug Ledford
no flags Details

Description Doug Ledford 2019-04-03 21:47:54 UTC
+++ This bug was initially created as a clone of Bug #1695911 +++

Description of problem:

When attempting to install on existing raid devices, anaconda fails to recognize an existing EFI system partition as such.  An EFI system partition should not need to be formatted.  It should be possible to use --useexisting and install the Fedora EFI boot loader into the existing partition.  This does not work.  Neither from kickstart options, or from blivet-gui trying to set the device as the /boot/efi mount point without actually formatting the device.

Version-Release number of selected component (if applicable):

Fedora 30 Server Beta and also Fedora 29 Server

How reproducible:

100%

Steps to Reproduce:
1. Boot installer on efi system with existing hard drive efi partition
2. Add part entries for efi device in kickstart with --noformat
3. Start kickstart install in graphical mode
4. Graphical mode will eventually come up and show an error on drive selection
5. Go into drive pane and read the error listed, it will complain of no EFI partition even though one is required

Alternatively
1. Boot on efi system in graphical install mode
2. Use blivet-gui for manual drive selection
3. Attempt to mount existing system EFI partition and /boot/efi and proceed with install
4. Anaconda will complain that efi requires an efi system partition mounted at /boot/efi

Actual results:

Unable to complete the install.

Expected results:

I expect the existing EFI system partition to be mounted as appropriate and the fedora shim EFI binaries to be installed as normal.

Additional info:

Comment 1 Vendula Poncova 2019-04-04 09:40:15 UTC
Please, attach logs from the installation. You can find them in /tmp/*log.

Comment 2 Doug Ledford 2019-04-04 15:00:00 UTC
Created attachment 1551967 [details]
anaconda.log

Comment 3 Doug Ledford 2019-04-04 15:00:29 UTC
Created attachment 1551968 [details]
dbus.log

Comment 4 Doug Ledford 2019-04-04 15:02:42 UTC
Created attachment 1551969 [details]
program.log

Comment 5 Doug Ledford 2019-04-04 15:03:48 UTC
Created attachment 1551983 [details]
storage.log

Comment 6 Doug Ledford 2019-04-04 15:04:15 UTC
Created attachment 1551984 [details]
syslog

Comment 7 Doug Ledford 2019-04-04 15:09:15 UTC
From what I could see in the logs, this is what looks like is happening to me:

1) Even though it's possible to create a raid1 EFI System Partition and anaconda will properly use a version 1.0 md raid superblock, when anaconda is scanning the system's devices, it does not recognize a raid1 array with version 1.0 superblock as a possible EFI system partition

2) Anaconda scans the md raid1 array and finds a vfat filesystem.  It does not mark it as EFI system partition.  In the specific circumstance that the filesystem is vfat, and the raid1 array has a version 0.90 or 1.0 superblock, and the partition type of the md raid partition is marked as EFI System Partition in the partition table instead of Linux RAID, then anaconda's block scan should tag the md device as the EFI system partition and treat it as such.

Because anaconda does not recognize the EFI system partition for what it is, the only way to code this into a kickstart that won't hang the kickstart is to forcibly reformat the EFI parition on each install.  This is problematic if you have a dual OS install or if you just happen to have some custom.cfg grub boot menu items on the EFI partition.

Comment 8 Vendula Poncova 2019-04-05 10:35:34 UTC
Thanks for the logs! It seems to be an issue in the storage configuration library. Reassigning to blivet.

Comment 9 Vojtech Trefny 2020-03-27 14:13:48 UTC
upstream PR: https://github.com/storaged-project/blivet/pull/834

updates image: https://vtrefny.fedorapeople.org/img/rhbz1695913.img

I was able to test this in a UEFI VM and I was able to reuse a preexisting /boot/efi without reformatting it and the system booted but it would be nice if someone could test this in some real-world scenario.

Comment 10 Fedora Update System 2020-04-06 12:44:52 UTC
FEDORA-2020-cab532bdb5 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-cab532bdb5

Comment 11 Fedora Update System 2020-04-07 02:27:39 UTC
FEDORA-2020-cab532bdb5 has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-cab532bdb5`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-cab532bdb5

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 12 Fedora Update System 2020-04-09 14:44:26 UTC
FEDORA-2020-cab532bdb5 has been pushed to the Fedora 32 stable repository.
If problem still persists, 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.