When you buy a Raspberry Pi, it may or may not be sold with an SD card. The SD card is important because this is where the Raspberry Pi keeps its operating system and is also where you will store your documents and programs.  

Even if your Pi came with an SD card with an operating system on, it is a good idea to update it to the latest version, as improvements and bug fixes are going in all the time. Since putting the operating system onto an SD card wipes everything else off the card, it is worth considering using a USB flash drive for your documents, so that when you install a new version of the operating system, you don't have the complication of copying them off somewhere safe before reformatting the SD card.

If your Pi did not come with an SD card then the minimum size you should get is 4GB, but buy a bigger SD card if you think you will need the space. (If you're planning to store media files or work with other SD card images on your Pi, you probably need a bigger card.)

This lesson shows you how to create an SD card for your Raspberry Pi.

You Will Need

To prepare an SD card for your computer, you will need:

A 'regular' computer with a built-in SD card reader, or an add-on USB SD card reader. The instructions here are for Windows and Mac. You can pick up a tiny microSD card reader/writer that is nice and fast and works with all USB ports at the Adafruit shop.

An SD card at least 4GB in capacity. You can pick one up that is tested and guaranteed to work with the Raspberry Pi at the Adafruit shop. (If buying elsewhere, remember that for the Pi 2, you'll need microSD.)

Downloading an Image

The operating system that will be installed onto the SD card must be downloaded from the Internet. This will usually be a zip file that then extracts to a file of type .img an image file. Whatever image file you download, the actual installation process is the same.

Choose your Operating System

There are a bewildering number of operating systems that you can install on your Raspberry Pi. If you are a beginner, you'll probably want to stick with one of the Linux distributions.

Choose your Distribution

Having decided you want to install Linux, that is not the end of the story. You now have to decide which distribution or 'distro' of Linux you want to install. Being an Open Source operating system, anyone can take one of the existing distributions an add things to it or configure it in a certain way before packaging it up as another distribution option for anyone to use. This is how the most common Raspberry Pi distribution, 'Raspbian', came into existence. The existing 'Debian' distribution was configured and kitted out with useful things like IDLE (a python-programming language development editor) and Scratch (a learn-to-program gaming system) to make it suitable for the Pi.

All of the Adafruit tutorials (and nearly every other tutorial online) will work with Raspbian, and nearly every Pi out there runs it.

Additionally, Adafruit offers a growing set of tools for working with Raspbian installations, including the Adafruit Raspberry Pi Finder, a GUI for configuring your Pi over the network, and Occidentalis, a collection of utilities for hardware support and hacking.

Previous versions of Occidentalis were built as standalone images, but we've since turned it into a set of packages for Raspbian.

(Incidentally, the name Occidentalis comes from the Latin name for the raspberry, Rubus Occidentalis.)

Extract the Image File

Whatever distribution you're installing, you'll probably have a zip file that looks something like one of these:

...open the .zip and extract the .img to your desktop.

Making an SD Card – Using Windows

We really like using Etcher for burning SD cards. Works great on any version of Windows, won't over-write your backup disk drive, and can handle compressed images so you dont need to unzip them!

Step 1.

Download Etcher from: https://etcher.io/

Step 2.

Run the downloaded app to install!

You can start immediately, doubleclick the Etcher desktop icon, or select it from the Start menu

Step 3.

Eject any external storage devices such as USB flash drives and backup hard disks. This makes it easier to identify the SD card. Then insert the SD card into the slot on your computer or into the reader.

Step 4.

Run the Etcher program

This will launch the following application.

Step 5.

Select the image file by clicking Select Image you can select a compressed file such as a .zip or .gz

Step 6.

Etcher will automatically try to detect the SD drive, check the size to make sure its the right one

Then click Flash!

Check that you have the right device, as it will be reformatted, and then click Install.

It will take a few minutes to install, but once the SD card is ready, you will see the following.

That's all there is to it. Your SD card is ready for use in your Raspberry Pi.

Faster writes

If you burn a lot of cards, speed it up by turning off Validate write on success

Making an SD Card – Using a Mac

We really like using Etcher for burning SD cards. Works great on Mac OS X 10.9 or later, won't over-write your backup disk drive, and can handle compressed images so you dont need to unzip them!

Step 1.

Download Etcher from https://etcher.io

Step 2.

Open the downloaded disk image and drag the Etcher application to the Applications folder. You can then eject the disk image.

Step 3.

Eject any external storage devices such as USB flash drives and backup hard disks. This makes it easier to identify the SD card. Then insert the SD card into the slot on your computer or into the reader.

Step 4.

Run the Etcher application.

The first time you run Etcher you’ll be asked to confirm the download. Click “Open” to continue.

This will launch the Etcher application…

Step 5.

Select the SD card image file by clicking Select Image. You can choose a compressed SD image file such as a .zip or .gz or an uncompressed .img, it’s all good!

Step 6.

Etcher will automatically try to detect the SD drive. If you don’t have an SD card currently inserted, you’ll be prompted to connect one.

Check the disk size to make sure its the right one, that it’s not overwriting your main drive or anything nasty. 

Then click Flash! A-ah!

Etcher will work for a few minutes to “burn” the SD image to the card. You’ll see a progress bar as it works. This is about the time you’ll wish you’d splurged on a high-speed card.

Once the SD card is ready, you will see the following:

The card will be unmounted automatically, so you can pull it out now and use it in your Raspberry Pi.

Faster Writes

If you find yourself burning a lot of SD cards, you can speed things up by clicking the gear icon at the top-right, then turn off the “Validate write” option. I’ve written hundreds of cards and only had one fail validation.

Test & Configure

If you plan to use multiple SD cards, it is not a bad idea to label the card, or for microSD cards label the little plastic case they usually come in.

Testing the card is easy - insert it into your Pi, then connect a keyboard to the USB port and a NTSC/PAL TV to the composite port or an HDMI monitor to the HDMI Port. Then power it by connecting a Micro USB cable to the Pi and powering it via a computer or a USB wall charger.

For Raspbian, you should see something like the following, an Adafruit/Raspberry logo in the top left, and a ton of text filling up the screen:

In the next tutorial, you will find out how to configure your Raspberry Pi the first time you boot it up.

BONUS! Make a Backup Image!

It took a while to get your SD card set up, didn't it? Bet you don't want to have to do that again, do you?


Back it up!

Forum user, Mac user, and Adafruit Customer phil.drummond took it upon himself to find the best way to back up his system image.

And he found a fast and easy way - a script which quickly creates a clone of your running Raspberry Pi system, ON THE PI ITSELF!

Note: This script only works with occidentalis 0.2 and older versions of Raspbian
The script comes to us by way of Pastebin user BILLW.

What You'll Need

  • USB SD Card Reader
  • Blank SD Card
  • Booted and Running Raspberry Pi

Get the Script File

First, get a copy of the script file onto your Pi. You can do that in any one of several ways:
  • First, download the file to your computer
  • Use ssh or vnc to transfer the file from the computer to the Pi
  • Pop the blank SD into your USB Card Reader
  • Plug the Card Reader into your computer
  • Copy the file to the blank SD
  • Move the Card Reader to the Pi
  • Copy the file from the SD to the Pi
  • Use the Pi's Web Browser to navigate to this page and download the script file directly

Run the Script

  1. Put the blank SD card into your USB Card Reader, and plug it into one of the PI's USB ports.
  2. Open a Terminal window on the Pi
  3. Navigate to the folder where you stored the script file. (If you stored the file on the Pi's Desktop, simply type 'cd Desktop')
When you run the script, you will have to specify the name of your SD card. Raspbian and occidentalis assign the names 'sda', sdb', etc. to SD cards found on USB. If you only have one USB card reader attached, the name of your new SD card will be 'sda'.

If you're not sure that sda is the right card, you can run this command to list the cards connected to your Pi.
Download: file
sudo fdisk -l
The SD card slot with your running Pi system will show up as /dev/mmcblk0. Your blank card will be listed as /dev/sda1 (or possibly /dev/sdb1, if you have more than one USB card readers attached to the Pi).

Note that you don't enter the '1' - if your card is listed as '/dev/sda1', then you would still enter 'sda' when you run the script ('sda' is the name of the card, 'sda1' is the name of the first partition on the card).

Ok, so now you should be ready to run the commands
Download: file
chmod +x rpi-clone.sh
sudo ./rpi_clone sda -f
As noted earlier, the first parameter passed to the script is is the name of the target SD card, in this case 'sda'. The -f tells the script to entirely re-format the card.

The script will ask you if you're sure you want to initialize the destination card. Type 'y', and hit the return key.
If you see an error message instead, check below for solutions!
Next, the script will ask you if you want to give your new backup a label. It's not necessary to do this - just hit the return key.

Finally, the script will ask you if you're sure you really want to do this, before it begins creating the backup. Type 'y', and hit the return key.

Now it's time to wait - the process will take a little while.

When the process is complete, the script will ask if it should unmount the card with your new system clone/ Reply with 'y', and you're done!

Now you can shutdown the Pi, swap the clone into the Pi's SD Card Slot, and restart - Bingo! a fully-operational clone of your Raspberry Pi system!


If you see an error message like this:
...it means that your SD card is mounted in the file system. You have to unmount it before you can proceed. In the picture, I'm writing over an earlier clone of my system, which has two partitions: /dev/sda2 and /dev/sda1. You might only have one partition.

In any case, issue the umount command for each mounted partition on your destination SD card:
Download: file
sudo umount /dev/sda1
Now try to run the script again!
This guide was first published on Dec 03, 2012. It was last updated on Dec 03, 2012.