For a recent project, I had to burn several Raspbian images into some SD cards. A friend of mine recommended me to use an image burner that I didn’t know, and since I had some alternatives to perform the burn operation I’ve decided to write a little post about it. It is not a post about burning performance, nor the best SD card to buy, it’s just a post about showing you some of the alternatives that you have to burn your SD cards for your Raspberry Pi (maybe some other platforms that uses the same booting mechanism too).
For this, I’ll be burning the image base Raspbian Stretch Lite from 2017-11-29 (latest when this post is being written) that you can download from here.
Once the image is downloaded (about 348 MB) We will be facing the question: which method We will be using to burn that image to an SD card?
I’ll present 3 alternatives ordered by difficulty, beginning from the easiest.
Easy mode: Etcher
Etcher is the easiest way I’ve found to burn an image to an SD, only beaten by ordering the SD already burned online… A clean interface, intuitive steps and is able to perform the job well. Once burned verifies that the copy has been done correctly and then you have the possibility to auto eject the SD card when finished.

Etcher can be downloaded from here.
Normal to Hard: ApplePi-Baker
With a less intuitive interface (compared to Etcher) this tool is able to do more than burning. It allows you to burn your already downloaded images, of course, but also prepare the SD card to be compatible for NOOBS, an operating system installer assistant that shows you a gui to choose what operating system do you want to install. Also you can perform a backup from your already burned SD card.

ApplePi Baker can be downloaded from here.
I’m the death incarnate
You are probably questioning yourself what those burners really do. Using a GUI software is OK but you must know what you are doing first. Well, you can burn your SD cards without any extra software if you want, just use the tools that your operating system (Linux/macosx) already have:
First, we have to know which device is your sd card reader. In Macosx you have to do:
$ diskutil list /dev/disk2 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *15.9 GB disk2 1: DOS_FAT_32 SDCARD 15.9 GB disk2s1
So we know that our device will be /dev/disk2. We will have to unmount it first, by doing:
$ diskutil unmountDisk /dev/disk2 Unmount of all volumes on disk2 was successful
In Linux a lsblk command will show you which device is the one to use:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 1 15.9G 0 disk └─sdb1 8:17 1 15.9G 0 part /media/SDCARD
To unmount a partition in Linux use the command umount:
$ umount /media/SDCARD
Once the disk is unmounted we can burn the image using the command dd:
$ sudo dd if=2017-11-29-raspbian-stretch-lite.img of=/dev/disk2 bs=1m 1772+0 records in 1772+0 records out 1858076672 bytes transferred in 461.479067 secs (4026351 bytes/sec)
Note that the previous alternatives tested the burned image integrity on the SD, and by this method, you only burn the image onto the SD card.
Bonus
If you don’t have ejected the SD card from the reader or you have put the SD card on the reader again you will see a new mount point (from a FAT32 partition) called Boot. Maybe you have never booted using this SD card, but you can do some interesting things prior to booting at this point:
- If you create a file in the root of this partition called ssh, the secure shell service will start at running.
- If you put a file called cmdline.txt with the next content:
ip=192.168.1.200::192.168.1.1:255.255.255.0:rpi:eth0:off
Your Raspberry will boot with the assigned ip (192.168.1.200) and gateway 192.168.1.1.
You can find more documentation about the cmdline.txt and RPIConfig options in https://elinux.org/RPiconfig and https://elinux.org/RPi_cmdline.txt.












