On an Ubuntu Core system, when a new kernel snap or core snap environment is installed, Ubuntu Core enables a special boot mode called try.
If the system fails to boot, try boot mode allows the system to revert automatically to a last known good core and kernel combination
The implementation of try-boot touches both snapd and the bootloader (grub/uboot/aboot) in the following ways:
snap_mode is "", in which case the bootloader loads loads two squashfs files denoted by variables snap_core and snap_kernel.snap_mode=try and snap_try_{core,kernel} to the core/kernel that will be tried next.try, will set snap_mode=trying and attempt to boot the snap_try_{core,kernel}."" and copies snap_try_{core,kernel} to snap_{core,kernel}. The snap_try_/* values are cleared afterwards. The bootmode is now in state(1) again.snap_mode=trying which means snapd did not start successfully. In this, case the bootloader will set snap_mode="" and the system will boot with the known good values from snap_{core,kernel}. The bootmode is in state(1) again.Last updated 6 years ago.