github.com/Lephar/snapd@v0.0.0-20210825215435-c7fba9cef4d2/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 and kernel command line variables set by snapd from 8 # the bootenv 9 load_env --file /EFI/ubuntu/grubenv kernel_status snapd_extra_cmdline_args snapd_full_cmdline_args 10 11 set snapd_static_cmdline_args='console=ttyS0 console=tty1 panic=-1' 12 set cmdline_args="$snapd_static_cmdline_args $snapd_extra_cmdline_args" 13 if [ -n "$snapd_full_cmdline_args" ]; then 14 set cmdline_args="$snapd_full_cmdline_args" 15 fi 16 17 set kernel=kernel.efi 18 19 if [ "$kernel_status" = "try" ]; then 20 # a new kernel got installed 21 set kernel_status="trying" 22 save_env kernel_status 23 24 # use try-kernel.efi 25 set kernel=try-kernel.efi 26 elif [ "$kernel_status" = "trying" ]; then 27 # nothing cleared the "trying snap" so the boot failed 28 # we clear the mode and boot normally 29 set kernel_status="" 30 save_env kernel_status 31 elif [ -n "$kernel_status" ]; then 32 # ERROR invalid kernel_status state, reset to empty 33 echo "invalid kernel_status!!!" 34 echo "resetting to empty" 35 set kernel_status="" 36 save_env kernel_status 37 fi 38 39 if [ -e $prefix/$kernel ]; then 40 menuentry "Run Ubuntu Core 20" { 41 # use $prefix because the symlink manipulation at runtime for kernel snap 42 # upgrades, etc. should only need the /boot/grub/ directory, not the 43 # /EFI/ubuntu/ directory 44 chainloader $prefix/$kernel snapd_recovery_mode=run $cmdline_args 45 } 46 else 47 # nothing to boot :-/ 48 echo "missing kernel at $prefix/$kernel!" 49 fi