lib.sh: Cleanup previous /boot/efi contents 23/46823/1
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Wed, 8 Nov 2017 01:09:13 +0000 (02:09 +0100)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Wed, 8 Nov 2017 01:35:29 +0000 (02:35 +0100)
Some UEFI firmwares insist on scanning removable drives, even when
boot entries were deleted from UEFI boot list (board flash).

To work around this, remove contents of </boot/efi/*>, so scanning
won't identify any valid EFI binaries.
Another option would be erasing partition tables, but identifying
the underlying disk(s) is more complicated, especially when using
LVM/RAID etc.

Change-Id: I9949b99b139b1642e3bd8f04de3bd5ef74d1ecc5
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
mcp/scripts/lib.sh

index 6b7193b..c6d5d26 100644 (file)
@@ -41,7 +41,8 @@ function cleanup_uefi {
   ssh ${SSH_OPTS} "${SSH_SALT}" "sudo salt -C 'kvm* or cmp*' cmd.run \
     \"which efibootmgr > /dev/null 2>&1 && \
     efibootmgr | grep -oP '(?<=Boot)[0-9]+(?=.*ubuntu)' | \
-    xargs -I{} efibootmgr --delete-bootnum --bootnum {}\"" || true
+    xargs -I{} efibootmgr --delete-bootnum --bootnum {}; \
+    rm -rf /boot/efi/*\"" || true
 }
 
 function cleanup_vms {