From 6753abe33da73245f22908724f671334de56cd09 Mon Sep 17 00:00:00 2001 From: Martin Whitaker Date: Sat, 25 Feb 2017 21:01:34 +0000 Subject: Don't require a BIOS boot partition when performing an upgrade (mga#20338) If we are upgrading a system on a GPT disk and it doesn't currently have a BIOS boot partition, the old system must be using a legacy bootloader (e.g. grub). We support the continued use of legacy bootloaders in an upgrade, so there is no need to insist on a BIOS boot partition in this case. --- perl-install/fs/any.pm | 4 +++- perl-install/install/steps.pm | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/perl-install/fs/any.pm b/perl-install/fs/any.pm index d2fea55ee..ba45c7bdc 100644 --- a/perl-install/fs/any.pm +++ b/perl-install/fs/any.pm @@ -67,7 +67,7 @@ sub set_cdrom_symlink { } sub check_hds_boot_and_root { - my ($all_hds, $fstab, $o_match_all_hardware) = @_; + my ($all_hds, $fstab, $isUpgrade, $o_match_all_hardware) = @_; fs::get::root_($fstab) or die "Oops, no root partition"; return if $o_match_all_hardware; @@ -77,6 +77,8 @@ sub check_hds_boot_and_root { die N("You must have a ESP FAT32 partition mounted in /boot/EFI"); } } else { + # if we are doing an upgrade, the user may still be using a legacy bootloader + return if $isUpgrade; if (is_boot_bios_part_needed($all_hds)) { die N("You must have a BIOS boot partition for non-UEFI GPT-partitioned disks. Please create one before continuing."); } diff --git a/perl-install/install/steps.pm b/perl-install/install/steps.pm index f25ca4551..7d3a5a67f 100644 --- a/perl-install/install/steps.pm +++ b/perl-install/install/steps.pm @@ -201,7 +201,7 @@ sub doPartitionDisksAfter { $part->{isMounted} = 1; } - fs::any::check_hds_boot_and_root($o->{all_hds}, $o->{fstab}, $o->{match_all_hardware}); + fs::any::check_hds_boot_and_root($o->{all_hds}, $o->{fstab}, $o->{isUpgrade}, $o->{match_all_hardware}); if ($o->{partitioning}{use_existing_root}) { #- ensure those partitions are mounted so that they are not proposed in choosePartitionsToFormat -- cgit v1.2.1