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