I have to provision multiple Raspberry Pi's, and I thought I could simply copy one's memory card using dd to a file, and use that file to flash multiple new memory cards. I've tried this multiple times and it hasn't worked.

I'm planning on forking https://github.com/RPi-Distro/pi-gen and adding what I need using that, but I'm curious why my original approach didn't work. What is different about these files, the file I created using dd, vs. the Raspbian ISO file that I flash onto the memory card?

I'd also like to be clear and differentiate from a Live CD. I am copying the OS directly to the Pi's "harddrive" (the micro SD card) in both cases.

I created the image in an Ubuntu VirtualBox VM, with the Micro SD card mounted as a USB device into the VM

Originally posted on SO, someone over there suggested that I need to copy, or setup somehow, the master boot record.


Firstly the Pi DOES NOT use "ISO"

There should be no significant difference between a downloaded OS image and one produced by dd assuming you did it correctly.

To be clear an image of a working OS will be significantly larger than a downloaded image because it will be expanded on use.

Done correctly the dd will be the size of the SD Card, and because even nominally identical cards may differ slightly in size you may not be able to restore to different SD Cards.

I routinely make backup images of my SD Cards and use them to create new SD Cards, although I no longer use dd but a more efficient Backup image of SD Card method.

  • thank you for this. "assuming you did it correctly", i'm sure if there is a "wrong way" I did that. I will try your script, thank you – quinn Mar 16 '20 at 13:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.