Migrating from SD card boot on PI 3 to USB boot on PI 4 with Homeassistant OS

Not sure I’m even in the right place, but I wanted to post this somewhere to point out how easy it is to transition from a Pi 3 running Home assistant OS from an SD card to a Pi 4 running Home assistant OS from a USB drive (in my case a USB3.1 to SATA adapter with a 120GB SSD).

Basically, initially I followed the guide here to get the Pi bootloader into a position to want to boot from USB, using Raspberry Pi OS to update the bootloader and to configure it to boot from USB on failing to read from SD.

Once I’d got that set up, I used balenaEtcher to flash Home Assistant OS to the SSD using the same USB3.1 adapter plugged in to my PC that I plan to use on the Pi (I used Development 5 build 2 because I’d read somewhere about issues with the bootloader pre-version-5, though I’m not sure how true this actually is as I didn’t test for myself) which quickly got me into a position where I could plug the SSD into the pi, remove the sdcard and had a working booted instance of Home Assistant running!

From there it was an easy process, I took a full snapshot from my old instance of HA and uploaded it to the new instance. Navigated via the frontend to snapshots and wiped & restored from there. Within ~5 minutes I had an identical copy of my home assistance instance, so I shutdown the old one and replaced it with this one (including moving across my Zigbee2MQTT dongle).

After a little bit of messing in the router to ensure that the new Pi was being assigned the same IP the old one was, everything was working great! Really happy to have my data stored on the more hardy 2.5" SSD rather than the SD card, and overall the experience was far smoother than I expected it was going to be! Would recommend for anyone who also has SD card wear anxiety, I’ve already had one fail on me before so this is a big plus for me!

Just as a quick update: Looks like I have some oddities in my Zigbee2MQTT setup now. All the sensors/switches are reporting back, but whenever it tries to set a value its erroring with “(Data request failed with error: ‘No network route’ (205))”… even though when I get up and trigger the switch manually I can see the state is making it back to MQTT/Home Assistant.

I’m going to leave it an hour or so and see if the network “settles out”, but failing that I’m probably just going to change the Zigbee network key and manually resync everything.

Other than that though I’m really impressed with how well it worked, all of my custom components are here - even ones manually installed - and seem to be working fine. If this is the only hiccup I hit this was one of the easiest hardware migrations I think I’ve ever experienced.

I think a better place for this is at Community Guides category!

I’m glad to help!