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