Upgrading to Debian 13 (Trixie) on the Raspberry Pi

I’m pretty consistent with upgrading my Ubuntu Linux server twice a year, but found that I have not been as good about maintaining my Debian-based Raspberry Pis. I keep them updated, but not upgraded. So my first tech project of 2026 was to get everything current on Debian 13 Trixie.

I started with a mix of the last three releases of Raspberry Pi OS:

From what I had read, doing a clean install of Trixie (rather than a dist-upgrade) was the recommended path, so I made final full microSD card backups of each RasPi (with dd) then re-imaged each one with the current Lite build of RasPi OS using the Raspberry Pi Imager. Then, after booting up the new OS, I had to re-install, re-configure, and re-apply my software and customizations. This wasn’t a big effort for the “blinkenlights” RasPis, but Octoprint and Homeseer took some additional effort (see below). Finally, I did one more clean install of Trixie on a new Pi 5 that will be used for my PiDP-1 (once I find the time to build it!).

OctoPi

I used a nightly build image of OctoPi based on 64-bit Trixie and immediately had issues trying to SSH into the Pi. I had to hook up a monitor and keyboard so I could log in locally and then remove the IPQoS 0x00 line from /etc/ssh/sshd_config. Then I had to fix the syntax in /etc/haproxy/haproxy.cfg so that the reverse proxy would work for OctoPrint (I found both of these solutions in this post on the Octoprint forums).

Once I had Octoprint running I was able to restore my backup via the GUI, which also re-installed my plugins except for Octolapse. It seems like there’s an issue running this on versions of Python greater than 3.11 because distutils.msvccompiler was deprecated in 3.12 (and the Trixie image is using 3.13). I’ve posted on the issue in Github and hopefully there’ll be some sort of fix or workaround.

I also had a problem with my camera (an Arducam 5MP OV5647) not working. After a lot of research and experimentation I finally got it working by setting the resolution back to 1024 x 768 (instead of its native 2592 x 1944) via the camera_usb_options entry in /boot/firmware/octopi.txt. I’m not sure why the original resolution wouldn’t work (change in libraries?), but at least for now the camera shows video (although without Octolapse, it’s only good for a live view).

HomeSeer

For HS4, I didn’t just want to unzip my backup and hope it worked, so first I used zwolfpack’s Linux installer package (which installs HS, mono, and all the other necessary pre-requisites) to install a clean 4.2.22.86 beta release. I also took the opportunity to move the install from /usr/local/Homeseer to /opt/Homeseer). Then I unzipped my latest backup (from BLBackup) over that fresh install to re-install my plug-ins, devices, settings, events, and all the rest … and it worked (even the Z-Wave controller).

Then I had to re-install Homebridge (also under /opt) which got me a clean install with the latest v24 of node. After re-appling my fix for Z-Wave Plus and my garage door opener, I restored my backup from before the re-image and again, everything came back as expected.

 

So yeah, that’s six Raspberry Pis runing on Trixie now! Quite the project … and that should tide me over for a while until Forky is released in a few years. 😉

Leave a Reply

Your email address will not be published. Required fields are marked *