Services Failing after Swapping Backup Drives

Here’s how it all went down.

  1. added program_usb_boot_mode=1 to the end of /boot/config.txt
  2. rebooted
  3. copied userdata back to my SD card so everything is on the SD
  4. copied userdata back to my SD card so everything is on the SD
  5. created an image of my SD card on my Mac
  6. burned the image onto my USB SSD
  7. reviewed /etc/fstab - since I burned the SD images to the USB, the PARTUUID numbers were the same - no change required
  8. pluged the USB SSD into my Pi 3b and powered on

Unfortunately nothing happened after that. The Pi didn’t boot off the USB at all and the lights on the USB>SSD adapter never even blinked.

I’m not sure why. I know some SSDs are not compatible, but everything here seemed to be set up properly. More info on this further down.

Thinking I’d go for the next best setup I did the following:

  1. removed the USB SSD
  2. inserted the SD card
  3. booted just fine
  4. formatted the USB SSD
  5. used Drive-Manager to transfer RootFS to the USB SSD
  6. manually transferred user-data from the SD ext4 partition to the USB SSD
  7. rebooted and everything works

I somewhat foolisly didn’t run vcgencmd otp_dump | grep 17: after setting the USB boot option in config.txt, because I did check the config.txt file and saw the option was appended properly before rebooting. However now when I run the vcgencmd command it doesn’t give me the output of 3020000a and instead outputs 1020000a, indicating that the USB boot option failed to be set in the OTP memory. If that’s the case, that explains one reason why USB booting would have failed. When I look at /boot/config.txt the program_usb_boot_mode=1 is no longer there :thinking: . I suppose I could do the following to try it again.

  1. make a new backup of the boot only SD card
  2. restore the old full OS SD card image to the SD card
  3. boot off the SD card
  4. try to set the USB boot parameter again
  5. confirm it is set
  6. copy RootFS to the USB SSD again
  7. try booting again

I also have a 1GB SD card that I’d be fine using for the boot drive. How would I go about copying the current boot drive over to it? I assume I’d again need to change FSTAB (or maybe I could create an image of the current boot SD which should be small now, and restore it to a smaller SD … or would it image the full 32GB of my card. I’ve used PiShrink before to get image sizes down and downgrade cards, but not sure that works with a boot partition only on Dietpi.) Maybe putting both SD cards in as external storage on a different Pi would allow me to rsync the boot drive and then just update FSTAB on the USB SSD to use the new SD card’s boot partition UUID. Decisions decisions.