SpectreOS/configs/grub.d/40_snapshots
2023-08-07 08:28:05 +02:00

24 lines
973 B
Bash
Executable file

#!/bin/sh
. /etc/default/grub
export GRUB_DISABLE_RECOVERY=true
export GRUB_DISABLE_SUBMENU=y
export GRUB_CMDLINE_LINUX_DEFAULT=$GRUB_CMDLINE_LINUX_DEFAULT
if [ -f "/etc/grub-snapshot" ]; then
if [ "$(cat /etc/grub-snapshot | wc -l)" != 0 ]; then
# TRANSLATORS: %s is replaced with an OS name
echo "submenu 'Snapshot options for SpectreOS' \$menuentry_id_option 'gnulinux-snapshot-$boot_device_id' {"
is_top_level=false
snapshotanzahl="$(expr $(wc -l /etc/grub-snapshot | awk '{print $1}') + 1)"
grub_output=$(/etc/grub.d/10_linux)
while (( "$(expr $snapshotanzahl - 1)" )); do
snapshotanzahl=`expr ${snapshotanzahl} - 1`
SNAPSHOTNAME="$(cat /etc/grub-snapshot | sed ''$snapshotanzahl'!d')"
SNAPSHOT="rootflags=subvol=${SNAPSHOTNAME}"
export GRUB_CMDLINE_LINUX="${SNAPSHOT} ${GRUB_CMDLINE_LINUX#* }"
echo "$grub_output" | python /usr/bin/extract-menuentry.py "Snapshot ${SNAPSHOT#*@}"
done
echo '}'
fi
fi