Bug 1129629 - Anaconda doesn't recognize insufficient size of /boot partition
Summary: Anaconda doesn't recognize insufficient size of /boot partition
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: 21
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Anaconda Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedBlocker
: 1146101 (view as bug list)
Depends On:
Blocks: F21BetaBlocker
TreeView+ depends on / blocked
 
Reported: 2014-08-13 11:48 UTC by Petr Schindler
Modified: 2014-10-31 02:42 UTC (History)
9 users (show)

Fixed In Version: anaconda-21.48.13-1.fc21
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-10-28 23:07:02 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1008137 0 unspecified CLOSED BootLoaderError: bootloader install failed 2021-02-22 00:41:40 UTC

Internal Links: 1008137

Description Petr Schindler 2014-08-13 11:48:12 UTC
I tried to create installation with /boot partition with just 80 MiB (I left defaults everywhere else). At the end of installation it says:
"The following error occurred while installing the bootloader. The system will not be bootable. Would you like to ignore this and continue with installation?

failed to write bootloader configuration"

I think that anaconda should warn user that /boot is too small before installation starts. Is there any way how to compute the minimal size? Or maybe it would be better to set some safe minimum. The size of /boot of default installation is about 100 MB so maybe something like 200 MB would be enough.

I'm reopening bug and proposing for alpha blocker as it violates the criteria:
" A system installed with a release-blocking desktop must boot to a log in screen where it is possible to log in to a working desktop using a user account created during installation or a 'first boot' utility."
and
"A system installed without a graphical package set must boot to a state where it is possible to log in through at least one of the default virtual consoles."

It also somehow violates the beta criterion
"When using the custom partitioning flow, the installer must be able to:
- Reject or disallow invalid disk and volume configurations without crashing." only it doesn't crash but such setting should be rejected.

Comment 1 Chris Lumens 2014-08-13 14:32:05 UTC
This block in pyanaconda/storage_utils.py just needs to be updated:

    checkSizes = [('/usr', 250), ('/tmp', 50), ('/var', 384),
                  ('/home', 100), ('/boot', 75)]

Comment 2 Kamil Páral 2014-08-13 16:36:10 UTC
Discussed at the 2014-08-13 blocker review meeting:
http://meetbot.fedoraproject.org/fedora-blocker-review/2014-08-13/

Rejected as an Alpha blocker. Creating small /boot partition involves custom partitioning which is a Beta criterion. Reproposing for beta blocker.

Comment 3 Kamil Páral 2014-09-24 17:09:23 UTC
Discussed in 2014-09-24 Blocker Review meeting [1]. Accepted as a blocker. This bug is a clear violation of the Beta Custom partitioning criteria: "Reject or disallow invalid disk and volume configurations without crashing."

[1] http://meetbot.fedoraproject.org/fedora-blocker-review/2014-09-24/

Comment 4 Adam Williamson 2014-10-08 16:41:46 UTC
Discussed at 2014-10-08 blocker review meeting: http://meetbot.fedoraproject.org/fedora-blocker-review/2014-10-08/f21-blocker-review.2014-10-08-15.58.log.txt . We agreed to ask if this is fixed in F21, but then I realized it's pretty easy to check, and it looks like it isn't. commit a8b3d18792c18ac7d0a2edd254380bc39a17169f from master branch - "Require a larger /boot (#1129629)." - does not appear to exist on f21-branch. Chris, can you backport it? Thanks!

Comment 5 Chris Lumens 2014-10-08 16:55:17 UTC
This will be in anaconda-21.48.10.

Comment 6 David Shea 2014-10-10 18:16:52 UTC
*** Bug 1146101 has been marked as a duplicate of this bug. ***

Comment 7 Fedora Update System 2014-10-15 13:07:52 UTC
anaconda-21.48.10-1.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/anaconda-21.48.10-1.fc21

Comment 8 Fedora Update System 2014-10-16 17:18:37 UTC
Package anaconda-21.48.10-1.fc21, pykickstart-1.99.63-2.fc21, python-blivet-0.61.5-1.fc21:
* should fix your issue,
* was pushed to the Fedora 21 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing anaconda-21.48.10-1.fc21 pykickstart-1.99.63-2.fc21 python-blivet-0.61.5-1.fc21'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-12944/pykickstart-1.99.63-2.fc21,python-blivet-0.61.5-1.fc21,anaconda-21.48.10-1.fc21
then log in and leave karma (feedback).

Comment 9 Adam Williamson 2014-10-20 19:22:10 UTC
The change definitely appears on the F21 branch in git, but for some reason doesn't appear to work. In Beta TC4 Workstation live x86_64 custom part I was able to create a 71MB /boot partition and begin installation; nothing stopped me. The correct tuple is definitely in the list in the live image's anaconda. I can only think somehow the error check isn't run or the results are somehow thrown away or something? I can try and look into it a bit more.

Comment 10 Adam Williamson 2014-10-20 19:34:04 UTC
Ah. I think I have a theory here. The problem is that the value it compares against is no longer just an int representing a number of MB. It's a string, like:

"61 MiB"

I added a debug print to the check into storage_utils.py to be sure:

    for (mount, size) in checkSizes:
        if mount in filesystems:
            log.info("Size of mount %s is %s", mount, str(filesystems[mount].size))
        if mount in filesystems and filesystems[mount].size < size:
            exns.append(
               SanityWarning(_("Your %(mount)s partition is less than "
                              "%(size)s megabytes which is lower than "
                              "recommended for a normal %(productName)s "
                              "install.")
                            % {'mount': mount, 'size': size,
                               'productName': productName}))

here's the output I got from it:

anaconda.log:12:29:22,809 INFO anaconda: Size of mount /boot is 500 MiB
anaconda.log:12:29:32,483 INFO anaconda: Size of mount /boot is 61 MiB

see - '61 MiB', not '61'.

And here's a quick test script to illustrate the problem:

#!/bin/python
if '61 MiB' < 200:
    print("Smaller!")
else:
    print("Larger!")

[adamw@adam anaconda (f21-branch %)]$ python /tmp/test.py 
Larger!

so far as python's concerned, '61 MiB' > '200'.

Comment 11 Adam Williamson 2014-10-20 20:03:18 UTC
for the record I was nearly right, but filesystems[mount].size is actually a blivet Size() object, and I was just getting its __string__ representation. clumens has a patch that should fix this:

http://paste.fedoraproject.org/143623/14138339/

I will test it shortly.

Comment 12 Adam Williamson 2014-10-20 21:30:26 UTC
Tested that change and now the test works indeed, there is now a slight error in the warning message though:

""Your /boot partition is less than 200 MiB megabytes"

that'd be easy to fix - just drop the "megabytes" from the warning text - but that would break string freeze. That's a small detail that shouldn't stop us at least making the check work properly.

Comment 13 Fedora Update System 2014-10-20 23:02:00 UTC
anaconda-21.48.10-1.fc21, pykickstart-1.99.63-2.fc21, python-blivet-0.61.5-1.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 14 Adam Williamson 2014-10-21 01:57:04 UTC
Re-opening, the fix for this was insufficient. See above.

Comment 15 Fedora Update System 2014-10-23 14:12:44 UTC
anaconda-21.48.12-1.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/anaconda-21.48.12-1.fc21

Comment 16 Fedora Update System 2014-10-23 16:21:52 UTC
Package anaconda-21.48.12-1.fc21, python-blivet-0.61.7-1.fc21:
* should fix your issue,
* was pushed to the Fedora 21 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing anaconda-21.48.12-1.fc21 python-blivet-0.61.7-1.fc21'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-13542/python-blivet-0.61.7-1.fc21,anaconda-21.48.12-1.fc21
then log in and leave karma (feedback).

Comment 17 Kamil Páral 2014-10-27 12:27:39 UTC
I have tested this with Beta RC1 Live and it seems fixed. I was warned whenever I tried to create <200 MB /boot partition.

Comment 18 Fedora Update System 2014-10-28 18:17:52 UTC
anaconda-21.48.13-1.fc21, python-blivet-0.61.8-1.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/python-blivet-0.61.8-1.fc21,anaconda-21.48.13-1.fc21

Comment 19 Fedora Update System 2014-10-28 23:07:02 UTC
anaconda-21.48.12-1.fc21, python-blivet-0.61.7-1.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 20 Fedora Update System 2014-10-31 02:42:50 UTC
anaconda-21.48.13-1.fc21, python-blivet-0.61.8-1.fc21 has been pushed to the Fedora 21 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.