diff --git a/shim-install b/shim-install index cb7fa90..aa90ff6 100644 --- a/shim-install +++ b/shim-install @@ -332,7 +332,10 @@ if test "$no_nvram" = no && test -n "$bootloader_id"; then efidir_disk="$("$grub_probe" --target=disk --device-map= "$efidir")" if test -z "$efidir_drive" || test -z "$efidir_disk"; then echo "Can't find GRUB drive for $efidir; unable to create EFI Boot Manager entry." >&2 - elif [[ "$efidir_drive" == \(mduuid/* ]]; then + # bsc#1119762 If the MD device is partitioned, we just need to create one + # boot entry since the partitions are nested partitions and the mirrored + # partitions share the same UUID. + elif [[ "$efidir_drive" == \(mduuid/* && "$efidir_drive" != \(mduuid/*,* ]]; then eval $(mdadm --detail --export "$efidir_disk" | perl -ne 'print if m{^MD_LEVEL=}; push( @D, $1) if (m{^MD_DEVICE_\S+_DEV=(\S+)$}); sub END() {print "MD_DEVS=\"", join( " ", @D), "\"\n";};') diff --git a/shim.changes b/shim.changes index a595621..cac8034 100644 --- a/shim.changes +++ b/shim.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Jan 14 09:48:59 UTC 2019 - Gary Ching-Pang Lin + +- Update shim-install to handle the partitioned MD devices + (bsc#1119762, bsc#1119763) + ------------------------------------------------------------------- Thu Dec 20 04:13:00 UTC 2018 - Gary Ching-Pang Lin diff --git a/shim.spec b/shim.spec index dc964fb..b02ee63 100644 --- a/shim.spec +++ b/shim.spec @@ -1,7 +1,7 @@ # # spec file for package shim # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed