Moving boot disk to new hardware

Hi all,

I am booting my various Raspis from USB SSDs and would like to use those boot disks on different Raspi models.
I am aware that moving from a Raspi4 to another Raspi4 (e.g. hardware defect) shouldn’t be a problem, but what about moving from Raspi4 to a Raspi5?

(Given the same OS variant is used, 32 or 64 bit, of course.)

Are DietPi installations “agnostic” and configure the model specific settings during boot up process?

Are the ARM-based images for other ARM-based SBCs that different from the Raspi version, so it would not work at all, e.g. booting a Raspi4 DietPi installation with a RockPi?

Would love to understand a bit more about the DietPi insights regarding these adjustments for various SBCs with somehow similar architecture (e.g. ARM 64-bit).

Many thanks in advance!

I think the biggest “problem” is the difference in architecture. RPi 4 and 5 both uses ARMv8. And ARMv8 is downwards compatible until ARMv5. So this is why you could use theoretically the SD card from your RPi B or Zero (which are at least ARMv6) and put it in the 5. Maybe it’s not as fast as using an OS for v8, bc some features and instructions etc are missing, but it will run.
The other way around is not possible, so you can not install and OS on the 5 and put it in a RPi based on ARM version lower 8. Not sure if it would work from a 5 into a 4.

I guess @MichaIng can go into more detail, about device trees and other characteristics.

Theoretically you can move disk between RPi3 and 4. This should not be an issue. However the RPi5 requires new firmware package which we need to implement first. There are some significant changed done by RPi developer and as of now, we are not supporting RPI5. However we will provide a dedicated image soon. On a later stage, we are thinking on an option where you can select RPi versions you like to support and our installer will download and installer required kernel packages to be able to move between different RPi version.

At the end you will be able to move within RPI family only. It will not be possible to move between RPi and RockPi or OrangePi. This is because of the kernel packages required by each board. DietPi is not an own operating system, it’s a set of bash script on top of different Debian, Raspbian or Armbian images. Each SBC has different dependency between kernel, overlay and other packages as each SBC has different CPU type and hardware components.

1 Like

Many thanks for your feedback so far!
Looking forward to the RPi5 image and the changes planned to “dynamically” adapt a DietPi installation to different Pi models.

There ia a migration script now: Image | Raspberry Pi 5 · Issue #6676 · MichaIng/DietPi · GitHub

When starting with a 32-bit image, it can be moved in both directions between all RPi models including RPi 5. A 64-bit (ARMv8) image cannot be used on RPi 1, Zero and RPi 2 v1.1 indeed. But generally I would also recommend a 64-bit image on RPi 4 and 5, as they load the 64-bit kernel by default which can cause some issues on a 32-bit OS/userland.

But the migration script is in beta/testing state and there are some issues and further changes required around device tree overlays and the GPU stack to make everuthing work.