Login

Navigation

This articles is published 288 days ago and last updated 287 days ago, some information may be out of date.

Upgrade Debian from Buster to Bookworm

buster2bookworm.jpg

About

In this scenario, the device has an aarch64 chipset and is running Armbian, which is based on Debian.
It provides a step-by-step guide for upgrading from Debian 10 (Buster) to Debian 11 (Bullseye), and then to Debian 12 (Bookworm).


Upgrade from Buster to Bullseye

  1. Backup data.

This should always be the first step before making major system changes. You can use tools like rsync or tar to back up the data.

  1. Verify Current Debian Version
lsb_release -a

2023-07-14_081241.png

  1. Update the current system.

Ensure the current system is fully up-to-date by running:

sudo apt update  && sudo apt upgrade -y
sudo apt full-upgrade
  1. Change the repositories.

Create a backup of current sources.list file by renaming it to sources.lists.bak

sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak

Create a new one with the following contents:

sudo cat >> /etc/apt/sources.list << EOF
deb [arch=arm64,armhf] http://deb.debian.org/debian bullseye main contrib non-free
deb [arch=arm64,armhf] http://deb.debian.org/debian bullseye-updates main contrib non-free
deb [arch=arm64,armhf] http://deb.debian.org/debian bullseye-backports main contrib non-free
deb [arch=arm64,armhf] http://security.debian.org/ bullseye-security/updates main contrib non-free
EOF

Edit /etc/apt/sources.list.d/* files to point to Bullseye instead of Buster.

sudo sed -i 's/buster/bullseye/g' /etc/apt/sources.list.d/*.list
  1. Update the package list.

Run the following command to update the package list:

sudo apt update
Hit:1 http://deb.debian.org/debian bullseye InRelease
Hit:2 http://deb.debian.org/debian bullseye-updates InRelease
Hit:3 http://deb.debian.org/debian bullseye-backports InRelease
Hit:4 http://security.debian.org bullseye-security/updates InRelease
Get:5 http://mirrors.sustech.edu.cn/armbian bullseye InRelease [53.3 kB]
Fetched 53.3 kB in 2s (24.6 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
397 packages can be upgraded. Run 'apt list --upgradable' to see them.
  1. Perform a minimal system upgrade:
    Upgrade all existing packages without installing or removing any additional packages with this command:
sudo apt upgrade --without-new-pkgs

After this operation, several questions will be asked to confirm. Keep pressing the Enter key to continue. Below are some examples:

The default action is to keep your current version.
* issue.net (Y/I/N/O/D/Z) [default=N] ?
  1. Upgrade the packages.
    Now you can upgrade all system's packages to Bullseye versions with:
sudo apt full-upgrade -y
  1. Restart the system.

After the upgrade is complete, you should restart the system to ensure all changes are properly applied.

sudo reboot
  1. Check the Debian version.

Once the system reboots, check the Debian version to confirm the upgrade:

lsb_release -a

2023-07-14_092619.png

Congratulations on successfully upgrading to Debian 11 (Bullseye)!

  1. Clean unused packages:

Ensure a clean system by removing any packages that are no longer required.

sudo apt --purge autoremove -y
sudo find /etc -name '.dpkg-' -o -name '.ucf-' -o -name '*.merge-error'

Upgrade from Bullseye to Bookworm

Follow the same steps as above

  1. Update current system.

Ensure current system is fully up-to-date by running:

sudo apt update  && sudo apt upgrade -y
sudo apt full-upgrade -y
  1. Change the repositories.

Replace 'bullseye' with 'bookworm' in /etc/apt/sources.list and /etc/apt/sources.list.d/* files via sed.

sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list.d/armbian.list

Additionally, add the "non-free-firmware" repository for hardware driver support.

sudo sed -i 's/non-free/non-free non-free-firmware/g' /etc/apt/sources.list
sudo sed -i 's/non-free/non-free non-free-firmware/g' /etc/apt/sources.list.d/*
  1. Update the package list.

Run the following command to update the package list:

sudo apt update
  1. Perform a minimal system upgrade:

Upgrade all existing packages without installing or removing any additional packages with this command:

sudo apt upgrade --without-new-pkgs

After this operation, several questions will be asked to confirm. Keep pressing the Enter key to continue. Below are some examples:

The default action is to keep your current version.
* issue.net (Y/I/N/O/D/Z) [default=N] ?
  1. Upgrade the packages.
    Now you can upgrade all system's packages to Bookworm versions with:
sudo apt full-upgrade -y
  1. Restart the system.

After the upgrade is complete, you should restart the system to ensure all changes are properly applied.

sudo reboot
  1. Check the Debian version.

Once the system reboots, check the Debian version to confirm the upgrade:

lsb_release -a

2023-07-14_101328.png

Congratulations on successfully to Debian 12 (bookworm)!

  1. Clean unused packages:

Ensure a clean system by removing any packages that are no longer required.

sudo apt --purge autoremove -y
sudo find /etc -name '.dpkg-' -o -name '.ucf-' -o -name '*.merge-error'

Resolving the Warning of Key Stored Issue on apt update

Issue:

When running apt update, a warning message may appear indicating that a key stored in /etc/apt/trusted.gpg is no longer valid.

Solution:

To resolve the issue, follow these steps:

  1. List the available keys with the following command:

    sudo apt-key list

    Take note of the last 8 digits of the public key that corresponds to the repository being updated.

  2. Export the public key to a new file using the following command:

    sudo apt-key export <last-8-digits-of-public-key> | gpg --dearmour -o /etc/apt/trusted.gpg.d/armbian.gpg

    This will create a new trusted key file named armbian.gpg in the /etc/apt/trusted.gpg.d/ directory.

  3. Update the package lists to confirm that the key issue has been resolved:

    sudo apt update

Conclusion

Upgrading from Debian 10 (Buster) to Debian 12 (Bookworm) provides a range of benefits such as new features and improvements, regular security updates, long-term support, and compatibility with newer software and hardware.


Reference