Bug 684860 - Editing pre-existing partition doesn't check /boot/efi size limits
Summary: Editing pre-existing partition doesn't check /boot/efi size limits
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: anaconda
Version: 6.0
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: Brian Lane
QA Contact: Release Test Team
URL:
Whiteboard:
Depends On:
Blocks: 645474 670159
TreeView+ depends on / blocked
 
Reported: 2011-03-14 16:38 UTC by Russ Anderson
Modified: 2013-01-10 08:17 UTC (History)
9 users (show)

Fixed In Version: anaconda-13.21.112-1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-05-19 12:39:01 UTC
Target Upstream Version:


Attachments (Terms of Use)
Screen snap of the problem (101.27 KB, image/jpeg)
2011-03-15 02:32 UTC, Russ Anderson
no flags Details
The log files. (70.68 KB, application/x-gzip)
2011-03-15 03:14 UTC, Russ Anderson
no flags Details
Edit Partition Dialog box (103.83 KB, image/jpeg)
2011-03-17 04:02 UTC, Russ Anderson
no flags Details
63513M /boot/efi partition (81.22 KB, image/jpeg)
2011-03-17 04:05 UTC, Russ Anderson
no flags Details
Create /boot/efi Error (103.37 KB, image/jpeg)
2011-03-17 04:21 UTC, Russ Anderson
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:0530 0 normal SHIPPED_LIVE anaconda bug fix and enhancement update 2011-05-18 17:44:52 UTC

Description Russ Anderson 2011-03-14 16:38:06 UTC
Description of problem:

With the RHEL6.1 iso (RHEL6.1-20110224.2-Server-x86_64-DVD1.iso) I would like to install on existing partitions (leaving other linux partitions untouched). Even though I specify a /boot/efi partition the installer complains that no  /boot/efi partition was specified.

The existing partitioning format has nine partitions: four small vfat /boot partitions, four larger /root partitions (two ext3, two ext4), and a /swap partition.  I've tried using different small /boot partitions for /boot/efi and marked the /boot partitions to be reformatted (both as EFI and vfat). None of which convinces the installer that there is a /boot/efi partition defined.

This is on an SGI UV (x86_64) system.  Also tried marking the /boot/efi
partition to be reformatted as VFAT and /boot/efi, neither of which made a difference.

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

Rhel6.1-alpha

How reproducible:

100%

Steps to Reproduce:
1. Run the installer on an SGI UV system.
2. Try to use existing /boot and / partitions.
  
Actual results:

The installer complained about no /boot/efi specified even though it was.

Expected results:

Expected that the installer would use the specified /boot/efi partition.

Additional info:

Comment 2 Russ Anderson 2011-03-14 19:31:46 UTC
Verified that this is a regression from RHEl6.0.
RHEL6.0 does not have this problem.

Comment 3 David Aquilina 2011-03-14 20:15:01 UTC
Setting Regression keyword per Comment #2

Comment 5 Brian Lane 2011-03-14 21:16:35 UTC
Could you attach the install logs from /tmp/*log to this bug as individual text/plain files?

Are you sure the system is booting the install media in EFI mode?

Comment 6 Russ Anderson 2011-03-14 22:00:03 UTC
> Could you attach the install logs from /tmp/*log to this bug as individual
> text/plain files?

How do I access the log files from the installer?

> Are you sure the system is booting the install media in EFI mode?

Yes.  The RHEL6.0 installer works using the same procedure.

Shell> fs5:EFI\BOOT\BOOTX64    
Trying to allocate 942 pages for VMLINUZ
[Linux-EFI, setup=0x1017, size=0x3adec0]

Comment 7 Brian Lane 2011-03-14 22:42:38 UTC
ctrl-alt-f2 and then copy /tmp*log someplace where you can attach them here.

Comment 8 Russ Anderson 2011-03-15 02:32:56 UTC
Created attachment 484340 [details]
Screen snap of the problem

The screen snap shows /dev/sda2 marked as /boot/efi type EFI System Partition and the error message.

Comment 9 Russ Anderson 2011-03-15 03:14:36 UTC
Created attachment 484344 [details]
The log files.

Comment 10 Brian Lane 2011-03-16 00:28:39 UTC
This is happening because the maximum partition size for /boot/efi is 256M and you have 429M.

Comment 11 Russ Anderson 2011-03-16 00:52:23 UTC
256M is the maximum partition size?  
Is this a new limit (since RHEL6.0 did not have a problem with 429M)?
Could the limit be increased to something reasonable?

Could the error message be improved to explain the actual issue?

Comment 12 Russ Anderson 2011-03-16 03:33:43 UTC
I tried to repartition a 62G partition into a /boot/efi and / partitions.
The installer forces the /boot/efi partition to be at least 5824M.
It will not allow a smaller (100M) /boot/efi.  Then it complains that I have not created a /boot/efi partition.

Any idea how to work around this problem?

Comment 13 Brian Lane 2011-03-16 17:33:22 UTC
It should not be forcing a partition that large, are you sure you selected 'use fixed size' for the partition? The minimum size is 50M and the max is 256M, it may not properly check if you go back after creating the partition and change its mount point, but should be checking if you create it all in one operation.

Comment 14 Russ Anderson 2011-03-16 22:25:21 UTC
I don't see a 'use fixed size' to select.

Could you walk me though the proper steps to create /boot/efi and / partitions in an existing partition?

Why is the max 256M?  Why did RHEL6.0 work?

Comment 15 Brian Lane 2011-03-17 01:13:35 UTC
In the partition editing dialog there is a fixed size button, it is the default selection.

When you enter /boot/efi as the mountpoint the file system type should change to 'EFI System Partition'. At this point if you try to exit the dialog with a partition larger than 256M it should give you a dialog telling you that the partition is too large.

If it isn't doing that then it must not be booting in EFI mode. RHEL6.0 acts exactly the same, only allowing up to 256M for the partition.

Comment 16 Russ Anderson 2011-03-17 03:55:00 UTC
Here is a detail description of the steps:

Boot the install DVD using:
    Shell> fs2:EFI\BOOT\BOOTX64

In the installer menu system select:
* Basic Storage Devices
* Fresh Installation
* Create Custom Layout

Highlight sda6, click Edit
        Click Format
        Select Mount Point /boot/efi
                It autoselects EFI System Partition
                Click OK
There is no dialog saying the partition is too large.
It shows the /boot/efi partition size as 62513M.

I'll attack screen snaps.

Comment 17 Russ Anderson 2011-03-17 04:02:27 UTC
Created attachment 485902 [details]
Edit Partition Dialog box

This screen snap shows the Edit Partition Dialog box.  The sda6 partition was selected for editing.  The Dialog shows Mount Point: /boot/efi and Format as EFI System Partition.  There is no "fixed size" button, nor any way to adjust the partition size.  The sda6 partition is 62513M.

Comment 18 Russ Anderson 2011-03-17 04:05:44 UTC
Created attachment 485903 [details]
63513M /boot/efi partition

This screen snap shows the installer allowed a /boot/efi partition of 62513M.  There was no error dialog indicating a 256M limit on /boot/efi.

Comment 19 Russ Anderson 2011-03-17 04:21:39 UTC
Created attachment 485907 [details]
Create /boot/efi Error

Tried again, this time selecting "create" instead of "edit".  The steps:

Highlight sda6, click Create
        * Standard Partition, click Create
          Mount Point: /boot/efi
          Keep 200M size and "Fixed size"
          Click OK

The result is an Error Partitioning Dialog
        "Could not allocate requested partition:
         not enough free space on disks."

Comment 20 Brian Lane 2011-03-17 16:14:40 UTC
Thanks for the screenshots, I know what is happening now.

When editing a pre-existing partition we aren't checking the limits when you exit the dialog like we do when creating a new one.

You need to delete one of your partitions to make space, then create a new one of the right size for /boot/efi

Your steps in comment 19 are correct, except that you need to delete sda6 before hitting create.

So the problems are:
 1. Edit partition dialog doesn't check limits for assigned mountpoint when editing a pre-existing partition
 2. If you manage to create a /boot/efi mountpoint on partition that is too large it will be ignored without a clear error message.

Comment 21 Russ Anderson 2011-03-17 16:57:17 UTC
The good news is following your steps to delete the existing partition, create a >256M /boot/efi partition (and / and /swap) convinces anaconda to format the hard drive.  

The bad news is now it hits BZ 687956 (same as if anaconda reformats the entire hard drive).

Thanks for the help.

Comment 22 gbeshers 2011-03-17 17:46:30 UTC
Hi Brian,

Prarit and I are wondering where the 256M restriction
comes from -- I don't see it on the UEFI website and
Fat16 should go up to 2GB.

George

Comment 24 Prarit Bhargava 2011-03-17 18:24:12 UTC
okay -- mjg filled me on the limit issue.

256 is a limit enforced by nothing else other than anaconda.

Russ, unlike ia64, x86 stores the vmlinuz images in /boot ... but not in /boot/efi/efi .

So having a HUGE /efi partition for grub is ... well ... useless.

The anaconda team has artificially capped it at 256M.

P.

Comment 25 Russ Anderson 2011-03-17 19:20:55 UTC
In this case the existing partition was 429M, so that's not a lot of waste.

This test system has four small /boot partitions and four large root partitions, so we can have four OS flavors available.  I simply was trying to use an existing small /boot partition for RHEL6.1 install testing (without disrupting the other partitions).  In this context I think a 429M partition seems reasonable.

It would be nice to have a way to override the 256M limit.  Anaconda could simply ask "Are you sure?" and then do it.

Brian identified two problems that would have helped identify the anaconda limit and enabled me to work around it.  Shrinking down the small partition from 429M to 256M was a big deal once I had a clue as to what anaconda was unhappy about and if it had the dialog options to shrink the partition.  Not having useful error messages to explain the restrictions is a big deal.

Right now the bigger issue is BZ 687956.  That is preventing installation of RHEL6.1 on UV.

Comment 26 Russ Anderson 2011-03-17 19:23:45 UTC
Typo.  The sentence should read "Shrinking down the small partition
from 429M to 256M was _NO_ big deal once"...

Comment 27 Prarit Bhargava 2011-03-17 22:22:43 UTC
(In reply to comment #26)
> Typo.  The sentence should read "Shrinking down the small partition
> from 429M to 256M was _NO_ big deal once"...

Y'know, I'm with you Russ :).  I agree, artifically limiting this to 256M serves no purpose.  If a user wants a bigger partition they should be able to get one.

P.

Comment 28 RHEL Program Management 2011-03-21 22:29:45 UTC
This request was evaluated by Red Hat Product Management for inclusion
in a Red Hat Enterprise Linux maintenance release. Product Management has 
requested further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed 
products. This request is not yet committed for inclusion in an Update release.

Comment 31 Pavel Holica 2011-04-08 07:45:58 UTC
Tested on RHEL6.1-20110406.0 x86_64 Server.

Putting back to assigned, because change doesn't fix original description. One still cannot install RHEL6.1 with pre-existing boot efi partition with size bigger then 256MB.

I agree with comments 25, 26 and 27.

Proper fix should be to change maximum partition size to maximum of FAT32.

Comment 32 Pavel Holica 2011-04-08 07:55:49 UTC
Sorry, I meant FAT16.

Comment 33 Brian Lane 2011-04-08 23:07:12 UTC
Removed upper limit on EFI partitions. Awaiting review.

Comment 35 Russ Anderson 2011-04-18 22:16:09 UTC
Verified fixed in SNAP4 RHEL6.1-20110413.1-Server-x86_64-DVD1.iso.

Thanks!

Comment 37 errata-xmlrpc 2011-05-19 12:39:01 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0530.html


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