Writing .img file to SD Card from a Mac
I want to burn a .img file of Wheezy OS to my 8GB SD Card from Mac OS X but can't figure out how.
Any help would be appreciated.
Yes @ikku - it is.
There is a faq/howto available that discusses all the various OS-es. For the Mac it is (nearly) the same as under the various other types of Unix versions. The use of dd.
In short you type:
sudo dd if=path_of_your_image.img of=/dev/rdiskn bs=1m
N.B: the of=/rdev/diskn needs to be the SD card, if you do this wrong you might end up destroying your Mac system!!!! Be careful!
Be sure to use
/dev/rdiskninstead of just
/dev/diskn. This way you are not writing to a buffered device and it will complete much faster.
For a total step by step guide through this process please consult this explanation. There are 3 chapters for the Mac in this document.
The most easy way is described on the first chapter on Mac (Copying an image to the SD card in Mac OS X (Only with graphical interface)), it involves an application that does everything for you, to be complete I copy the link to this application here
It's not that difficult, and the actual copying is only one command, the rest is to make sure you will be writing to the correct device. And the first chapter states: The RPi-sd card builder utility is a app which will walk you through the process of installing to SD card. That sounds like a nice application that with a couple if clicks does what you want... The link for this app is in the document.
Can't get that to work. :(
Oh, and the application keeps crashing.
No, that app you can use for a 'one click write image to sd card' (RPi-sd card builder), that the howto on elinux.org talks about.
A couple of hints for using dd: If you receive the error 'Operation not supported' when using dd, remove the SD Card, re-insert it and then unmount the partition using the disk utility. If you aren't sure if it's still running you can open another terminal and enter the following: $ killall -INFO dd
First, verify the path to your SD card. You can do this by running the following command from terminal:
The output shows a list of disks currently mounted on the system. Here's the relevant line from my output:
/dev/disk3 #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *8.0 GB disk3 1: DOS_FAT_32 RPISDCARD 8.0 GB disk3s1
In this case I can verify
/dev/disk3is my SD card because the TYPE, NAME and SIZE values are correct.
If you have an existing partition on the disk you may need to unmount it, otherwise you'll get a "Resource busy" error message when you try to write the image.
diskutil unmount /dev/disk3s1
Now to write the image file to the disk. Note the 'r' added to
rdisk3which drastically improves write performance by telling
ddto operate in raw disk mode:
sudo dd if=RetroPieImage_ver2.3.img of=/dev/rdisk3 bs=1m
Depending on the size of your SDcard this may take a while. You can press
CTRL+Tto see the current status of
dd. As an example for my Samsung 8GB SD card the write speed was 12MB/s the command took 11mins to complete.
Try this: ApplePi-Baker
It's free, writes IMG files to SD-Card, can prepare a NOOBS card and can make a backup to IMG of your SD-Card.
DO NOT TRY THIS!!!! It freezes, then if you cancel, you get stuck with some partitions on the card that literally refuse to be deleted. Disk Utility has greyed out all of my format/erase options.
You could also try: dd Utility
- Write IMG files to memory cards and hard drives.
- Backup and Restore IMG files to memory cards and hard drives.
- Install and Restore compressed disk image files on the fly. Supported file formats: IMG, Zip, GZip and XZ.
- Backup and compress disk image files on the fly in ZIP format to significantly reduce the file size of backups.
- Ideal for flashing IMG files to SD Cards for use with Raspberry Pi, Arduino, BeagleBoard and other ARM boards.
- Mac Retina displays supported.
Yes the simple answer is to just dd it, but there are some safety precautions you may want to enforce by wrapping your dd in a script;
#!/bin/bash # # copy_img_to_sd.sh # ME=$( id | grep root | wc -l | perl -p -e 's/[^0-9]+//g'); if [ "$ME" != "1" ] ;then echo "must be root" exit 1; fi IMG=$1 if [ ! -f $IMG ] ;then echo "can not find $IMG"; exit 2; fi DISK=$(ls -l /dev/disk? | wc -l |perl -p -e 's/[^0-9]//g') if [ $DISK -lt 3 ] ; then echo "can not find sdcard"; ls -l /dev/disk? exit 2; fi DISK=$(ls -1 /dev/disk? | tail -1); R_DISK=$(ls -1 /dev/rdisk? | tail -1); echo "we are about to do this:" echo $(diskutil information $DISK | grep Total) ls -1 /dev/disk?s* | grep "$DISK" | perl -p -e 's/^(.*)$/diskutil unmount $1;/g' echo dd bs=1m if=$IMG of=$R_DISK echo sync echo diskutil eject $R_DISK echo "Press [enter] to continue or [Ctrl]+[C] to cancel"; read YNM; ls -1 /dev/disk?s* | grep "$DISK" | perl -p -e 's/^(.*)$/diskutil unmount $1;/g' | bash 2>/dev/null dd bs=1m if=$IMG of=$R_DISK sync diskutil eject $R_DISK
Accidentally writing an image to your internal drive will require a fresh OS X install to correct. Backup and keep an install.log so if it ever happens to you you can laugh it off.
Found a really good link: http://www.tweaking4all.com/hardware/raspberry-pi/install-img-to-sd-card/#macosx for installing file.img on SD card, very detailed steps!
Can you add some more detail in your answer? Linking things Is not as helpful as explaining it...
This app may be helpfull for you: http://alltheware.wordpress.com/2012/12/11/easiest-way-sd-card-setup/
Welcome to RPi.SE :) Could you briefly explain the content to avoid link rot? Thanks!
dfto find the device path, in this case
$ df -h Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/disk1 465Gi 414Gi 51Gi 90% 108573777 13263821 89% / devfs 214Ki 214Ki 0Bi 100% 741 0 100% /dev map -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /net map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home /dev/disk2s1 3.7Gi 2.3Mi 3.7Gi 1% 0 0 100% /Volumes/UNTITLED