pve-kernel-meta/bin/grub-install-wrapper
Stoiko Ivanov ccfbe44f75 proxmox-boot: add reinit subcommand
to iterate over all configured ESPs and refresh the boot-loader
installations.

the init function was changed to not run refresh directly - to prevent
refresh from running once for each ESP

currently reinit does not imply refresh

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2022-04-27 19:06:41 +02:00

29 lines
1.1 KiB
Bash
Executable File

#! /bin/sh
set -e
if proxmox-boot-tool status --quiet; then
# detect when being called by dpkg (e.g. grub-pc.postinst
if [ -n "$DPKG_RUNNING_VERSION" ] && echo "$DPKG_MAINTSCRIPT_PACKAGE" | grep -sq "^grub-"; then
if [ -d /sys/firmware/efi ]; then
echo "Promxox's boot-tool is used and booted via EFI, skipping re-sync of GRUB"
exit 0
fi
MARKER_FILE="/tmp/proxmox-boot-tool.dpkg.marker"
if [ ! -e "$MARKER_FILE" ]; then
warn "This system is booted via proxmox-boot-tool, running proxmox-boot-tool init for all configured bootdisks"
proxmox-boot-tool reinit
proxmox-boot-tool refresh
touch "$MARKER_FILE"
exit 0
else
echo "Proxmox's boot-tool marker file found, ignoring grub install call."
exit 0
fi
fi
warn "grub-install is disabled because this system is booted via proxmox-boot-tool, if you really need to run it, run /usr/sbin/grub-install.real"
exit 1
else
grub-install.real "$@"
fi