DISCLAIMER: This how-to is for the benefit of advanced users who are comfortable with the command line and willing to research and fix things if things go wrong, it’s not guaranteed to work and is not supported in any way by the dev team. As always, when upgrading from a Debian base to another one a clean install is the easiest procedure that provides a fresh and complete configuration. The upgrade might not work seamlessly, especially if you mixed and matched packages from Testing, Backports, and other unofficial repos.
WARNING 1: Users of old Nvidia official driver should not upgrade. v.390 and up should be OK.
WARNING 2: Live users should not upgrade, this is only for installed systems.
IMPORTANT: Make sure you have enough free space on the root partition, you don’t want to be forced to stop the process in the middle of upgrade and have to recover from a broken state.
As always, before doing system-wide changes make a back up of your data and system.
- Change “buster” to “bullseye” /etc/apt/sources.list.d/ files, manually, or by running this command:
sudo sed -i s/buster/bullseye/g /etc/apt/sources.list.d/*.list
- Add debian-security repo to debian.list (remove old entry):
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
- Install new mx repo key. Download and add it with this command:
curl mxrepo.com/mx21repo.asc | sudo apt-key add -
sudo apt-get update
make sure there are no errors and run:
sudo apt full-upgrade
When prompted to update config file keep local version for /etc/issue and /etc/grub.d/10_linux /etc/plymouth/plymouth, otherwise accept all the updates, with the exceptions of the ones you customized for yourself, /etc/sudoers for example — It’s recommended you check the diff: press ‘d’ and accept only if it makes sense: press ‘y’ to accept, press ‘n’ to preserve local version of the file.
If the upgrade stops in the middle of the operation it might be because some updates disabled the network. Make sure the network is back up and run “
apt get full-upgrade” again till the command completes successful.
- Install network-manager-sysvinit-compat (otherwise your network won’t connect automatically)
sudo apt get install network-manager-sysvinit-compat
- Run mx-boot-options and change default kernel to 5.10.0-8 (you can still boot to old kernel if for some reason that works better)
- Update /etc/mx-version and /etc/lsb-release change any MX-19.x strings to MX-21.
- Just to check whether everything was installed successfully, run “
sudo apt full-upgrade” again.
Optional, to make it look and behave like the official MX-21 (before or after reboot):
- Add DateTime plugin to panel (orage was removed in Bullseye)
- Add PulseAudio plugin to panel, remove volume plugin
- Install mx21-artwork (for wallpapers in /usr/share/backgrounds)
- Install papirus-mxblue, set it in Settings -> Appearance -> Icons
- Install matcha-themes, set matcha-azul in Settings -> Appearance -> Style
- Install and add xfce4-docklike-plugin to panel, remove Window Buttons
- Install mx21-archive-keyring
After a successful reboot run “
sudo apt clean” to remove the cached .deb files.
sudo apt remove mx19-artwork mx19-archive-keyring
sudo apt autoremove (but make sure nothing useful is in the list of removable packages)
Remove old kernel if the new one works fine.
- icon missing for power-manager in system tray. Solution: add power-manager-plugin to the panel.
These instructions are for MX-19.x Xfce flavor, for KDE you can follow similar steps. You can skip the panel plugins steps, skip matcha-theme installation. Might need to remove some extra icons that show up on desktop and panel.