When considering in-place dist-upgrades, it's crucial to be aware of potential compatibility challenges. Specifically, with the introduction of compressed kernels in Ubuntu 20.04 and kernel version 5.x, certain considerations need to be addressed. Previously, our systems utilized a virtualization mode that does not support compressed kernels. As a result, performing in-place dist-upgrades may lead to compatibility issues in certain environments.
To address compatibility challenges associated with in-place dist-upgrades, we have developed a solution involving the addition of a decompression hook to existing servers. Follow the steps below to successfully upgrade to Ubuntu 20.04:
chmod +x /etc/kernel/postinst.d/kernel-decompress-hook
chmod +x /usr/local/bin/extract-vmlinux
apt update && apt upgrade
binutils
package necessary for the decompression script:
apt install binutils
apt install ubuntu-release-upgrader-core
do-release-upgrade
Your server page will continue to display Ubuntu 18.04 as the operating system.
If you have upgraded your Ubuntu distribution without adding the decompression hook and are now facing a boot failure, you can use the following steps to recover your system:
# dpkg --list | grep linux-image
ii linux-image-4.15.0-212-generic 4.15.0-212.223 amd64 Signed kernel image generic
ii linux-image-5.4.0-150-generic 5.4.0-150.167 amd64 Signed kernel image generic
ii linux-image-generic 5.4.0.150.148 amd64 Generic Linux kernel image
ii linux-image-virtual 5.4.0.150.148 amd64 Virtual Linux kernel image
# apt install --reinstall linux-image-5.4.0-150-generic