github.com/bugraaydogar/snapd@v0.0.0-20210315170335-8c70bb858939/bootloader/assets/data/grub-recovery.cfg (about) 1 # Snapd-Boot-Config-Edition: 1 2 3 set default=0 4 set timeout=3 5 set timeout_style=hidden 6 7 if [ -e /EFI/ubuntu/grubenv ]; then 8 load_env --file /EFI/ubuntu/grubenv snapd_recovery_mode snapd_recovery_system 9 fi 10 11 # standard cmdline params 12 set snapd_static_cmdline_args='console=ttyS0 console=tty1 panic=-1' 13 14 # if no default boot mode set, pick one 15 if [ -z "$snapd_recovery_mode" ]; then 16 set snapd_recovery_mode=install 17 fi 18 19 if [ "$snapd_recovery_mode" = "run" ]; then 20 default="run" 21 elif [ -n "$snapd_recovery_system" ]; then 22 default=$snapd_recovery_mode-$snapd_recovery_system 23 fi 24 25 search --no-floppy --set=boot_fs --label ubuntu-boot 26 27 if [ -n "$boot_fs" ]; then 28 menuentry "Continue to run mode" --hotkey=n --id=run { 29 chainloader ($boot_fs)/EFI/boot/grubx64.efi 30 } 31 fi 32 33 # globbing in grub does not sort 34 for label in /systems/*; do 35 regexp --set 1:label "/([0-9]*)\$" "$label" 36 if [ -z "$label" ]; then 37 continue 38 fi 39 # yes, you need to backslash that less-than 40 if [ -z "$best" -o "$label" \< "$best" ]; then 41 set best="$label" 42 fi 43 # if grubenv did not pick mode-system, use best one 44 if [ -z "$snapd_recovery_system" ]; then 45 default=$snapd_recovery_mode-$best 46 fi 47 set snapd_recovery_kernel= 48 load_env --file /systems/$label/grubenv snapd_recovery_kernel snapd_extra_cmdline_args 49 50 # We could "source /systems/$snapd_recovery_system/grub.cfg" here as well 51 menuentry "Recover using $label" --hotkey=r --id=recover-$label $snapd_recovery_kernel recover $label { 52 loopback loop $2 53 chainloader (loop)/kernel.efi snapd_recovery_mode=$3 snapd_recovery_system=$4 $snapd_static_cmdline_args $snapd_extra_cmdline_args 54 } 55 menuentry "Install using $label" --hotkey=i --id=install-$label $snapd_recovery_kernel install $label { 56 loopback loop $2 57 chainloader (loop)/kernel.efi snapd_recovery_mode=$3 snapd_recovery_system=$4 $snapd_static_cmdline_args $snapd_extra_cmdline_args 58 } 59 done 60 61 menuentry 'UEFI Firmware Settings' --hotkey=f 'uefi-firmware' { 62 fwsetup 63 }