How to Force Upgrade Ubuntu 21.10 (Impish Indri) to 22.04 LTS After End-of-Life on ARM Devices


3 views

When Ubuntu 21.10 reached End-of-Life (EOL) on July 14, 2022, its package repositories were moved to archive.ubuntu.com. This creates a problem when trying to upgrade because the standard do-release-upgrade relies on accessing the original repositories. Here's how we can work around this on ARM-based systems like Raspberry Pi 4.

First, modify your sources.list to point to the old-releases repository:

sudo sed -i 's|http://.*archive.ubuntu.com|http://old-releases.ubuntu.com|g' /etc/apt/sources.list
sudo sed -i 's|http://.*security.ubuntu.com|http://old-releases.ubuntu.com|g' /etc/apt/sources.list

Update your package lists:

sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y

We need to modify the release upgrader configuration to allow upgrading from an EOL release:

sudo nano /etc/update-manager/release-upgrades

Change these lines:

Prompt=normal
AllowThirdParty=yes

Now run the upgrade with the -d flag to force development release detection:

sudo do-release-upgrade -d -f DistUpgradeViewGtk3

If you encounter "No new release found", try:

sudo do-release-upgrade -p

On Raspberry Pi, you might need to resolve held packages manually:

sudo apt-mark showhold
sudo apt-mark unhold package_name

For kernel-related issues, you may need to:

sudo apt install --reinstall linux-image-generic linux-headers-generic

After successful upgrade, verify your system:

lsb_release -a
uname -a
apt list --upgradeable

Remember to reconfigure any services that might have been affected by the upgrade, especially those that modified system configuration files.


When Ubuntu 21.10 (Impish Indri) reached its End of Life (EOL) on July 14, 2022, package repositories were moved to old-releases.ubuntu.com. This creates a significant hurdle for Raspberry Pi users who need to upgrade to 22.04 LTS, especially when dealing with ARM64 architecture.

First, check your current system details:

lsb_release -a
uname -m

Backup critical configurations and data:

sudo tar -cvpzf /backup/ubuntu-backup.tar.gz --exclude=/backup --exclude=/proc \
--exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys --exclude=/run /

Edit your sources list to point to the old-releases archive:

sudo sed -i 's|http://.*archive.ubuntu.com|http://old-releases.ubuntu.com|g' /etc/apt/sources.list
sudo sed -i 's|http://.*security.ubuntu.com|http://old-releases.ubuntu.com|g' /etc/apt/sources.list

Update the package lists:

sudo apt update --allow-insecure-repositories
sudo apt upgrade --allow-downgrades

Install the update-manager-core package if missing:

sudo apt install update-manager-core

Edit the release upgrade configuration:

sudo nano /etc/update-manager/release-upgrades

Set Prompt=normal and save the file.

Initiate the upgrade process:

sudo do-release-upgrade -f DistUpgradeViewNonInteractive

After reboot, verify the upgrade:

cat /etc/os-release
apt list --upgradable

Clean up obsolete packages:

sudo apt autoremove --purge
sudo apt clean

If encountering package conflicts on Raspberry Pi:

sudo dpkg --configure -a
sudo apt install -f
sudo apt full-upgrade

For kernel-related issues, consider installing the Raspberry Pi foundation's kernel:

sudo apt install --reinstall linux-raspi

For headless servers, you can create an automated upgrade script:

#!/bin/bash
# Force upgrade from 21.10 to 22.04
sudo sed -i 's|http://.*archive.ubuntu.com|http://old-releases.ubuntu.com|g' /etc/apt/sources.list
sudo apt update --allow-insecure-repositories
sudo DEBIAN_FRONTEND=noninteractive apt upgrade -y
sudo do-release-upgrade -f DistUpgradeViewNonInteractive -q
sudo reboot