Hoping people here have some ideas as I would like to migrate my Matrix Synapse server running on DietPi v9.6.1 - bullseye, Debian 11 to another DietPi v9.6.1 system running bookworm, Debian 12.
The migration would be trivial, but bullseye server has PostgreSQL 13.x installed and the bookworm server has PostgreSQL 15.x installed after installing synapse thru dietpi-software.
On a traditional bullseye server that gets upgraded to bookworm, it will run & install both PostgreSQL 13.x & PostgreSQL 15.x side-by-side so that migration of the database is easily completed. I’m looking for suggestions on how to do this on DietPi.
One idea I had was to add the PostgreSQL upstream repo, documented here, then install PostgreSQL 13.x, but after running dietpi-sofware, which apt install postgresql, it then upgrades it the PostgreSQL 16.x (which is the upstream postgresql package).
This is the post where I asked about upgrading my kernel after upgrading a DietPi system from Bullseye → Bookworm & was instructed to “start fresh”
The Matrix Synapse server in the OP is now running on DietPi v9.7.1 - bullseye, Debian 11 on a Raspberry Pi 4.
I had a 2nd Raspberry Pi 4 sitting around, so I installed the DietPi Bookworm image on it and the kernel would only update to 6.6.31+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) aarch64 GNU/Linux
I have a totally different DietPi system running on a Pine64 Rock64, which is running different software with a kernel of 6.6.44-current-rockchip64 #1 SMP PREEMPT Sat Aug 3 06:54:42 UTC 2024 aarch64
My plan is to use a 2nd Pine64 Rock64 for a Matrix Synapse server running Bookworm, because it’s receiving kernel updates, but I still have the same original issue in the OP about PostgreSQL versions 13 vs 15.
There is probably a misunderstanding here. You cannot compare the different SBCs such as RPi, Odroid HC2 and Pine64 with each other, as each SBC family works slightly differently. With the Odroid HC2 in particular, it was simply a very old image. But this does not apply to the RPi. It shouldn’t really matter and you should always end up with the latest kernel version. Regardless of whether it is a new installation or an upgrade. The assumption that the RPi does not receive kernel updates is also incorrect. Yes, the current version released by the RPI Foundation is 6.6.31. But as soon as there is a new version, it will be available for all RPi.
My current Matrix Synapse server in the OP running on DietPi v9.7.1 - bullseye, Debian 11 on a Raspberry Pi 4 was installed on 2021-08-12, so I was under the impression that it was also running a “very old image”, much like the Odroid HC2 was running a “very old image”, and that I would have to start over with a different install to get it upgraded to Bookworm with an updated kernel.
I guess I’m confused as what is considered a “very old image” DietPi install/setup and what is a “regular image” with kernel updates. Can you please help me better understand this?
Basically, every SBC works slightly differently. It is difficult to compare the individual devices with each other. Each type has its own peculiarities such as file system layout, boot loader or kernel. Basically, there is no DietPi system that is the same on all SBCs.
This also applies to the kernel. Here we use different sources depending on the SBC. For some it is a vendor kernel and some run with their own. For RPI SBCs, it is the official RPI kernel as provided by the RPI Foundation. Therefore, especially on RPI devices, you can be sure that there will be regular kernel updates in the future. So there are actually no concerns for your current Matrix Synapse system running on an RPi4.
However, there is one small restriction. After an upgrade from Bullseye to Bookworm, it is still necessary on RPI devices to switch to the new file system structure introduced by RPI5 in order to get the latest kernel. But we also have a script for this.
With the Odroid HC2 there was a change in the past which unfortunately prevented a direct migration. Therefore the new image was necessary.
In contrast, the RPI is very consistent in this respect. Therefore you can also upgrade very old systems. Theoretically it should even be possible to upgrade an RPI stretch system to Bookworm including kernel upgrade.
If I’m understanding you correctly, I can upgrade my RPi4 running on DietPi v9.7.1 - bullseye, Debian 11 (installed on 2021-08-12) to run the DietPi bookworm image and get an updated kernel.
Where can I find that script to switch to the new file system?
My major concern with the ambiguity about having a kernel that hasn’t been updated since 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux is why I made my OP.
I guess my questions now really are: How do I safely upgrade this 2021 installed Bullseye to Bookworm and still get kernel updates? I always use dietpi-backup, but I’m very concerned I will break this server which myself and my friends rely upon.
I plan to schedule downtime tomorrow to run this First Step.
Since I will have to notify the users of this system, can you please send me the instructions to the Second Step so that I can get this system upgraded and working?
I plan to clone the drive completely before doing any Steps so that if something goes poorly I can get the system back up and running easily.
I strongly advise against updating to the new RPI kernel architecture as soon as you update to Bookworm. It’s better to have the system running stable first and if everything works, to also perform the kernel change.
Furthermore, we have found a conflict in the RPI packages, which is still being fixed by the RPI developers. So maybe wait a little longer with the kernel.