How to remove CasaOS from a ZimaBoard and upgrade to Debian 12 Bookworm
ZimaBoard is an x86 single board server that comes running Debian 11 Bullseye and CasaOS. It's a cool little machine, but after a few months I realizes I don't like CasaOS. Nothing against it, I'm just set in my way of doing things, and their GUI was limiting some of my options. In this post I'll explain how to remove CasaOS and then upgrade to the latest version of Debian.
Table of Contents
About the ZimaBoard
ZimaBoard is a “hackable” x86 single board server, by default it comes running Debian 11 Bullseye and CasaOS, and is meant to be the hub of your personal self-hosted cloud. CasaOS provides a simple web GUI that includes an “app store” to install various apps and services as Docker containers, which are then managed through the GUI. The different models have varying CPUs and RAM, but all models of Zimaboard have a 32 GB eMMC and two SATA ports for more storage, two USB 3.0 ports, two gigabit ethernet ports and even a PCIe 2.0 x4 port. Overall, it’s a pretty nice little machine.
![]()
I used these exact steps on a Zimaboard 216, the cheapest and lowest end model, but it’s safe to assume the process is identical on the 432 and 832 boards.
Removing CasaOS
This will be quick and easy, to uninstall CasaOS just use the below command:
casaos-uninstall
Wait a few minutes until the uninstall is done then move on to the next step.
Upgrading from Debian 11 to Debian 12
Zimaboard 216 comes with Debian 11 Bullseye installed (no idea if the 432 and 832 do as well) which has been superseded by Debian 12 Bookworm, so let’s upgrade it.
First let’s do a full upgrade of all existing packages:
sudo apt update && sudo apt full-upgrade
Now we need to change the apt
repositories to fetch Debian 12 packages. Use the below command: (If prompted to choose a text editor just use nano
or whatever you prefer.)
sudo apt edit-sources
What you need to do here is change every instance of bullseye
to bookworm
, including to bullseye-security
to bookworm-security
and bullseye-updates
to bookworm-updates
, then save and close the file.
Next we’ll update the repositories and then do a minimal upgrade using the --without-new-pkgs
option, this will “hold back” some packages to prevent deleting any dependencies that could break things.
sudo apt update && sudo apt upgrade --without-new-pkgs
This will take a while most likely, so be patient. Pay attention during the upgrade, you may get some dialogs from apt-listchanges
, just hit q on your keyboard to continue if this comes up.
When it’s finally done, it’s time to do a full upgrade from Debian 11 Bullseye to Debian 12 Bookworm. This will take some time too, so just be aware.
sudo apt full-upgrade -y
Like before, you will be prompted during the upgrade to make choices about which version of config files to use — it’s usually best to keep your existing ones — and also a dialog like the below to restart some services, use your arrow keys to select <Yes>
and hit Enter to continue past these screens.
Certain services like openssh-server
and samba
will also prompt a dialog about config files, once again it’s best to keep your existing version, but it’s up to you. Use your arrow keys to scroll through the options and hit Enter on the selected the highlighted option, and Enter again to continue.
Once the full upgrade is done, you should purge any unused package dependencies and clean out your cache:
sudo apt --purge autoremove -y && sudo apt autoclean
Finally, reboot to have all the changes take effect!
sudo reboot
When the Zimaboard is back up, I suggest using sudo apt update
again for final changes, you’ll probably see something like the below in the output:
sudo apt update
...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
N: Repository 'Debian bookworm' changed its 'non-free component' value from 'non-free' to 'non-free non-free-firmware'
N: More information about this can be found online in the Release notes at: https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.html#non-free-split