HASS.IO -> transfer from SD card to SSD or USB

Well I can confirm that the datactl method has worked perfectly for me on a Raspberry Pi 4B.

My set up now consists of the Pi 4B connected to a Kingston A400 SSD using a Startech USB3 to SATA cable (USB3S2SAT3CB). The Pi is still booting from the sdcard but the data partition is on the SSD. I am running the full Home Assistant (standard install). Home Assistant reports the disk space metrics correctly and I have confirmed the partition has been moved across correctly.

All I had to do was:

  1. Backup (Just in case!)
  2. Connect the SSD to Pi using the cable
  3. Login into Home Assistant CLI over SSH (needs to be via develop port 22222).
  4. Get to a host shell using the ‘login’ command.
  5. Check the new disk is seen using ‘fdisk -l’, it showed up as an un-formatted disk /dev/sda.
  6. Use the datactl command to move the data partition - ‘datactl move /dev/sda’.
  7. Reboot as advised by the datactl command output - ‘ha host reboot’.
  8. Wait a while - mine took maybe 15-20 mins for a 120GB drive - Home Assistant will eventually boot up.
  9. Profit?

At some point it would be interesting to further investigate a USB boot solution, but I’m happy enough with this for now!

14 Likes