INSTALLING OPERATING SYSTEM IMAGES USING WINDOWS
- Insert the SD card into your SD card reader and check which drive letter was assigned. You can easily see the drive letter (for example
G:
) by looking in the left column of Windows Explorer. You can use the SD Card slot (if you have one) or a cheap SD adaptor in a USB port. - Download the Win32DiskImager utility from the Sourceforge Project page (it is also a zip file); you can run this from a USB drive.
- Extract the executable from the zip file and run the
Win32DiskImager
utility; you may need to run the utility as administrator. Right-click on the file, and select Run as administrator. - Select the image file you extracted above.
- Select the drive letter of the SD card in the device box. Be careful to select the correct drive; if you get the wrong one you can destroy your data on the computer's hard disk! If you are using an SD card slot in your computer and can't see the drive in the Win32DiskImager window, try using a cheap SD adaptor in a USB port.
- Click
Write
and wait for the write to complete. - Exit the imager and eject the SD card.
INSTALLING OPERATING SYSTEM IMAGES ON LINUX
Please note that the use of the
dd
tool can overwrite any partition of your machine. If you specify the wrong device in the instructions below you could delete your primary Linux partition. Please be careful.- Run
df -h
to see what devices are currently mounted. - If your computer has a slot for SD cards, insert the card. If not, insert the card into an SD card reader, then connect the reader to your computer.
- Run
df -h
again. The new device that has appeared is your SD card. The left column gives the device name of your SD card; it will be listed as something like/dev/mmcblk0p1
or/dev/
sdd1
. The last part (p1
or1
respectively) is the partition number but you want to write to the whole SD card, not just one partition. Therefore you need to remove that part from the name (getting, for example,/dev/mmcblk0
or/dev/
) as the device for the whole SD card. Note that the SD card can show up more than once in the output of df; it will do this if you have previously written a Raspberry Pi image to this SD card, because the Raspberry Pi SD images have more than one partition.sdd - Now that you've noted what the device name is, you need to unmount it so that files can't be read or written to the SD card while you are copying over the SD image.
- Run
umount /dev/sdd1
, replacingsdd1
with whatever your SD card's device name is (including the partition number). - If your SD card shows up more than once in the output of
df
due to having multiple partitions on the SD card, you should unmount all of these partitions. - In the terminal, write the image to the card with the command below, making sure you replace the input file
if=
argument with the path to your.img
file, and the/dev/sdd
in the output fileof=
argument with the right device name. This is very important, as you will lose all data on the hard drive if you provide the wrong device name. Make sure the device name is the name of the whole SD card as described above, not just a partition of it; for examplesdd
, notsdds1
orsddp1
; ormmcblk0
, notmmcblk0p1
.dd bs=4M if=2015-11-21-raspbian-jessie.
img of=/dev/sdd
Please note that block size set to
4M
will work most of the time; if not, please try1M
, although this will take considerably longer.- Also note that if you are not logged in as root you will need to prefix this with
sudo
. - The
dd
command does not give any information of its progress and so may appear to have frozen; it could take more than five minutes to finish writing to the card. If your card reader has an LED it may blink during the write process. To see the progress of the copy operation you can runpkill -USR1 -n -x dd
in another terminal, prefixed withsudo
if you are not logged in as root. The progress will be displayed in the original window and not the window with thepkill
command; it may not display immediately, due to buffering. - Instead of
dd
you can usedcfldd
; it will give a progress report about how much has been written. - You can check what's written to the SD card by
dd
-ing from the card back to another image on your hard disk, truncating the new image to the same size as the original, and then runningdiff
(ormd5sum
) on those two images. - The SD card might be bigger than the original image, and dd will make a copy of the whole card. We must therefore truncate the new image to the size of the original image. Make sure you replace the input file if= argument with the right device name.
diff
should report that the files are identical.dd bs=4M if=/dev/sdd of=from-sd-card.img truncate --reference 2015-11-21-raspbian-jessie.img from-sd-card.img diff -s from-sd-card.img 2015-11-21-raspbian-jessie.img
- Run
sync
; this will ensure the write cache is flushed and that it is safe to unmount your SD card. - Remove the SD card from the card reader.
INSTALLING OPERATING SYSTEM IMAGES ON MAC OS
On Mac OS you have the choice of the command line
dd
tool or using the graphical tool ImageWriter to write the image to your SD card.(MOSTLY) GRAPHICAL INTERFACE
- Connect the SD card reader with the SD card inside. Note that it must be formatted in FAT32.
- From the Apple menu, choose About This Mac, then click on More info...; if you are using Mac OS X 10.8.x Mountain Lion or newer then click on System Report.
- Click on USB (or Card Reader if using a built-in SD card reader) then search for your SD card in the upper right section of the window. Click on it, then search for the BSD name in the lower right section; it will look something like 'diskn' where n is a number (for example, disk4). Make sure you take a note of this number.
- Unmount the partition so that you will be allowed to overwrite the disk; to do this, open Disk Utility and unmount it (do not eject it, or you will have to reconnect it). Note that On Mac OS X 10.8.x Mountain Lion, "Verify Disk" (before unmounting) will display the BSD name as "/dev/disk1s1" or similar, allowing you to skip the previous two steps.
- From the terminal run:
sudo dd bs=1m if=path_of_your_image.img of=/dev/rdiskn
Remember to replacen
with the number that you noted before!- If this command fails, try using
disk
instead ofrdisk
:sudo dd bs=1m if=path_of_your_image.img of=/dev/diskn
COMMAND LINE
- If you are comfortable with the command line, you can write the image to a SD card without any additional software. Open a terminal, then run:
diskutil list
- Identify the disk (not partition) of your SD card e.g.
disk4
(notdisk4s1
). - Unmount your SD card by using the disk identifier to prepare copying data to it:
diskutil unmountDisk /dev/disk<disk# from diskutil>
e.g.diskutil unmountDisk /dev/disk4
- Copy the data to your SD card:
sudo dd bs=1m if=image.img of=/dev/rdisk<disk# from diskutil>
e.g.sudo dd bs=1m if=2015-11-21-raspbian-jessie.
img of=/dev/rdisk4
- This may result in an
dd: invalid number '1m'
error if you have GNU coreutils installed. In that case you need to use1M
:sudo dd bs=1M if=image.img of=/dev/rdisk<disk# from diskutil>
- This will take a few minutes, depending on the image file size. You can check the progress by sending a
SIGINFO
signal pressingCtrl+T.- If this command still fails, try using
disk
instead ofrdisk
:e.g. `sudo dd bs=1m if=2015-11-21-raspbian-jessie.
img of=/dev/disk4`
or
e.g. `sudo dd bs=1M if=2015-11-21-raspbian-jessie.
img of=/dev/disk4`
ALTERNATIVE METHOD
Note: Some users have reported issues with using Mac OS X to create SD cards.
These commands and actions need to be performed from an account that has administrator privileges.
From the terminal run
df -h
.- Connect the SD card reader with the SD card inside.
- Run
df -h
again and look for the new device that wasn't listed last time. Record the device name of the filesystem's partition, for example/dev/disk3s1
. - Unmount the partition so that you will be allowed to overwrite the disk:
sudo diskutil unmount /dev/disk3s1
(or open Disk Utility and unmount the partition of the SD card (do not eject it, or you will have to reconnect it) - Using the device name of the partition, work out the raw device name for the entire disk by omitting the final "s1" and replacing "disk" with "rdisk". This is very important as you will lose all data on the hard drive if you provide the wrong device name. Make sure the device name is the name of the whole SD card as described above, not just a partition of it (for example, rdisk3, not rdisk3s1). Similarly, you might have another SD drive name/number like rdisk2 or rdisk4; you can check again by using the
df -h
command both before and after you insert your SD card reader into your Mac. For example,/dev/disk3s1
becomes
./dev/rdisk3 - In the terminal, write the image to the card with this command, using the raw disk device name from above. Read the above step carefully to be sure you use the correct rdisk number here:
sudo dd bs=1m if=2015-11-21-raspbian-jessie.
img of=/dev/rdisk3
If the above command reports an error (
dd: bs: illegal numeric value
), please changebs=1m
tobs=1M
.If the above command reports an errordd: /dev/rdisk3: Permission denied
then that is because the partition table of the SD card is being protected against being overwritten by MacOS. Erase the SD card's partition table using this command:sudo diskutil partitionDisk /dev/disk3 1 MBR "Free Space" "%noformat%" 100%
That command will also set the permissions on the device to allow writing. Now try thedd
command again.Note thatdd
will not feedback any information until there is an error or it is finished; information will be shown and the disk will re-mount when complete. However if you wish to view the progress you can use 'ctrl-T'; this generates SIGINFO, the status argument of your tty, and will display information on the process. - After the
dd
command finishes, eject the card:sudo diskutil eject /dev/rdisk3
(or: open Disk Utility and eject the SD card)