We moved this page to our Documentation Portal. You can find the latest updates here. |
Issue
CentOS 8 virtual server will not boot after the operating system upgrade (with "yum update").
More details about the CentOS 8 specific issues/limits can be found here:
https://docs.onapp.com/templates/centos-linux-templates
Environment
OnApp < 6.3
CentOS Linux 8.* x64 templates
KVM hypervisors
The issue has been fixed since version 6.3 and also the fix was backported to version 6.0 patch 11 |
Resolution
Reboot the VS in the Recovery mode (Tools->Startup on Recovery).
Locate primary VS's vdisk. Normally, it's '/dev/vda' in Recovery on KVM hypervisors.
https://help.onapp.com/hc/en-us/articles/222045568-How-to-use-Recovery-Console-
In case the primary VS disk is recognized as '/dev/vda' then run the following command to prepare the chroot environment
#mount /dev/vda1 /mnt && mount --bind /proc /mnt/proc/ && mount --bind /dev /mnt/dev&& mount --bind /sys /mnt/sys && chroot /mnt /bin/bash -l
Then run these commands to change the bootloader option and regenerate the config file
#sed -i 's/GRUB_ENABLE_BLSCFG.*/GRUB_ENABLE_BLSCFG=false/' /etc/default/grub
#grub2-mkconfig -o /boot/grub2/grub.cfg
If the last command is successful then exit the chroot env and reboot the virtual server in normal mode via UI.
#exit
#cd / && umount /mnt/proc && umount /mnt/dev && umount /mnt/sys && umount /mnt
Cause
By default CentOS 8 comes with a new boot scheme (Boot Loader Specification) that isn't supported by the onapp grub boot image.
https://systemd.io/BOOT_LOADER_SPECIFICATION/
https://access.redhat.com/solutions/3799961
The upgrade overwrites the bootloader option and config files to support the BLS and it requires disabling it and regenerate the bootloader's main config file.