m/n/c/mgmt: unmount ESP before restarting

This provides additional reliability for the FAT32 ESP partition.
Nothing should keep persistent handles for files on the ESP. Ignore
errors in case anything does.

Change-Id: I04bfbb82fddfc740c5c234c028de89539e91a696
Reviewed-on: https://review.monogon.dev/c/monogon/+/2032
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/node/core/mgmt/update.go b/metropolis/node/core/mgmt/update.go
index ce8b26b..144d307 100644
--- a/metropolis/node/core/mgmt/update.go
+++ b/metropolis/node/core/mgmt/update.go
@@ -28,6 +28,7 @@
 		// TODO(#253): Tell Supervisor to shut down gracefully and reboot
 		go func() {
 			time.Sleep(10 * time.Second)
+			unix.Unmount(s.UpdateService.ESPPath, 0)
 			unix.Sync()
 			if req.ActivationMode == apb.ActivationMode_ACTIVATION_KEXEC {
 				unix.Reboot(unix.LINUX_REBOOT_CMD_KEXEC)