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  }