github.com/bugraaydogar/snapd@v0.0.0-20210315170335-8c70bb858939/bootloader/assets/data/grub.cfg (about)

     1  # Snapd-Boot-Config-Edition: 1
     2  
     3  set default=0
     4  set timeout=3
     5  set timeout_style=hidden
     6  
     7  # load only kernel_status from the bootenv
     8  load_env --file /EFI/ubuntu/grubenv kernel_status snapd_extra_cmdline_args
     9  
    10  set snapd_static_cmdline_args='console=ttyS0 console=tty1 panic=-1'
    11  
    12  set kernel=kernel.efi
    13  
    14  if [ "$kernel_status" = "try" ]; then
    15      # a new kernel got installed
    16      set kernel_status="trying"
    17      save_env kernel_status
    18  
    19      # use try-kernel.efi
    20      set kernel=try-kernel.efi
    21  elif [ "$kernel_status" = "trying" ]; then
    22      # nothing cleared the "trying snap" so the boot failed
    23      # we clear the mode and boot normally
    24      set kernel_status=""
    25      save_env kernel_status
    26  elif [ -n "$kernel_status" ]; then
    27      # ERROR invalid kernel_status state, reset to empty
    28      echo "invalid kernel_status!!!"
    29      echo "resetting to empty"
    30      set kernel_status=""
    31      save_env kernel_status
    32  fi
    33  
    34  if [ -e $prefix/$kernel ]; then
    35  menuentry "Run Ubuntu Core 20" {
    36      # use $prefix because the symlink manipulation at runtime for kernel snap
    37      # upgrades, etc. should only need the /boot/grub/ directory, not the
    38      # /EFI/ubuntu/ directory
    39      chainloader $prefix/$kernel snapd_recovery_mode=run $snapd_static_cmdline_args $snapd_extra_cmdline_args
    40  }
    41  else
    42      # nothing to boot :-/
    43      echo "missing kernel at $prefix/$kernel!"
    44  fi