set default=0
set timeout=3
insmod part_gpt
insmod ext2
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ -z "$snappy_mode" ]; then
set snappy_mode=regular
save_env snappy_mode
fi
if [ -z "$snappy_ab" ]; then
set snappy_ab=a
save_env snappy_ab
fi
if [ "$snappy_mode" = "try" ]; then
if [ "$snappy_trial_boot" = "1" ]; then
# Previous boot failed to unset snappy_trial_boot, so toggle
# rootfs.
if [ "$snappy_ab" = "a" ]; then
set snappy_ab=b
else
set snappy_ab=a
fi
save_env snappy_ab
else
# Trial mode so set the snappy_trial_boot (which snappy is
# expected to unset).
#
# Note: don't use the standard recordfail variable since that forces
# the menu to be displayed and sets an infinite timeout if set.
set snappy_trial_boot=1
save_env snappy_trial_boot
fi
fi
set label="system-$snappy_ab"
menuentry "$label" {
if [ -d "$prefix/$snappy_ab" ]; then
linux $prefix/$snappy_ab/vmlinuz root=LABEL=$label ro init=/lib/systemd/systemd console=tty1 console=ttyS0 panic=-1
initrd $prefix/$snappy_ab/initrd.img
else
# old-style kernel-in-os-partition
search --no-floppy --set --label "$label"
linux /vmlinuz root=LABEL=$label ro init=/lib/systemd/systemd console=tty1 console=ttyS0 panic=-1
initrd /initrd.img
fi
}