#!/bin/bash
# Speichertest aus dem Power-Menü von ZFSBootMenu: Der UEFI-Booteintrag
# „bashclub memtest“ (shim + mit dem bashclub-Schlüssel signiertes memtest86+,
# vom Installer angelegt) wird als BootNext gesetzt, dann Neustart.
# --check: Rückgabe 0, wenn es den Eintrag gibt (nur dann erscheint er im Menü).
source /lib/efi-firmware-lib.sh >/dev/null 2>&1 || exit 1

entry() {
  efibootmgr 2>/dev/null | sed -n 's/^Boot\([0-9A-Fa-f]\{4\}\)\*\{0,1\} bashclub memtest.*/\1/p' | head -1
}

if [ "${1:-}" = --check ]; then
  is_efi_system && [ -n "$(entry)" ]
  exit
fi
num="$(entry)"
mount_efivarfs rw
if [ -z "${num}" ] || ! efibootmgr -q -n "${num}"; then
  echo -e "\033[0;31mSpeichertest: UEFI-Eintrag „bashclub memtest“ nicht gefunden oder nicht setzbar\033[0m"
  sleep 5
  exit 1
fi
exec /bin/reboot
