m/n/core: add pstore handling

Adds a one-shot runnable which dumps all kmsg dumps to the system log
and then clears the pstore. This makes sure that there is always space
for new pstore entries and gives administrators the option of reading
crash logs without booting another operating system. It also helps some
broken EFI firmware to not fail to boot.

Change-Id: Icbf30c0a0898e0e660910a80637d544f022a97cd
Reviewed-on: https://review.monogon.dev/c/monogon/+/770
Reviewed-by: Sergiusz Bazanski <serge@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/node/core/mounts.go b/metropolis/node/core/mounts.go
index 797d892..cb8351d 100644
--- a/metropolis/node/core/mounts.go
+++ b/metropolis/node/core/mounts.go
@@ -37,6 +37,7 @@
 		{"/sys", "sysfs", unix.MS_NOEXEC | unix.MS_NOSUID | unix.MS_NODEV},
 		{"/sys/kernel/tracing", "tracefs", unix.MS_NOEXEC | unix.MS_NOSUID | unix.MS_NODEV},
 		{"/sys/firmware/efi/efivars", "efivarfs", unix.MS_NOEXEC | unix.MS_NOSUID | unix.MS_NODEV},
+		{"/sys/fs/pstore", "pstore", unix.MS_NOEXEC | unix.MS_NOSUID | unix.MS_NODEV},
 		{"/proc", "proc", unix.MS_NOEXEC | unix.MS_NOSUID | unix.MS_NODEV},
 		{"/dev", "devtmpfs", unix.MS_NOEXEC | unix.MS_NOSUID},
 		{"/dev/pts", "devpts", unix.MS_NOEXEC | unix.MS_NOSUID},