Flashing or backing up your SD card » History » Version 5

Version 4 (Giulio Moro, 2015-09-25 12:41 AM) → Version 5/9 (Giulio Moro, 2015-09-25 12:42 AM)

h1. Flashing or backing up your SD card

For both these tasks you will need the dd software. It comes with many Linux distributions and is available for MacOS and Windows, although I have not tried to use it on Windows myself.

Put your SD card in the SD card reader. We assume for the rest of this document that your SD card is /dev/mmcblk0

Always start by unmounting the SD card in case it is currently mounted:
<pre>
$ sudo umount /dev/mmcblk0
</pre>

h2. Flashing an SD card

Whether you got an image from somewhere else or you want to flash your own backup image after you bricked your Beaglebone, do as follows:
make sure that the SD card is inserted and that none of its partitions are mounted as explained above.
Then:
<pre>
$ sudo dd if=~/bbb_images/your_own_your_precious_backup_image.img of=/dev/mmcblk0
</pre>
As it happens, `dd` is a very simple program, so simple that it does not even display a progress bar.
If you are lucky enough to be on Linux, you can probably install pv which will display a progress bar for you:

pv ~/bbb_images/your_own_your_precious_backup_image.img | sudo dd of=/dev/mmcblk0

h2. Backing up your SD card

Make sure that the SD card is inserted and that none of its partitions are mounted as explained above.

In case your partition is smaller than the size of the sd card, you do not need to backup the whole card, so if this is the case, run:
<pre>
$ sudo fdisk -u -l /dev/mmcblk0
</pre>
You might get something along the lines of
<pre>
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 * 63 144584 72261 c W95 FAT32 (LBA)
/dev/mmcblk0p2 144585 3743144 1799280 83 Linux
</pre>
You are interested in the higher value in the "End" column. Pass that value to dd as the count parameter:
<pre>
$ sudo dd conv=sparse count=3743144 if=/dev/mmcblk0 of=~/bbb_images/your_own_your_precious_backup_image.img
</pre>

If, instead, If you want to backup the entire the SD card, instead, simply use:
<pre>
$ sudo dd conv=sparse if=/dev/mmcblk0 of=~/bbb_images/your_own_your_precious_backup_image.img
</pre>