lib.sh: Cleanup previous /boot/efi contents 55/46855/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 11:42:13 +0000 (11:42 +0000)
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>
(cherry picked from commit a0a93056d5d5c52b739a2bc8fe0e2aaabb962f36)

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 {