32

I'm following the steps in How to create a bootable USB stick on OS X to install Ubuntu on a USB stick, and I keep getting the error:

dd: /dev/disk4: Permission denied

when I try to run step 8, even if I use sudo and enter my password.

I know this is probably a silly little mistake, but I'm not familiar enough with the terminal to figure it out on my own. Anyone out there who could help? (I'm using OSX, by the way.)

Zanna
  • 72,312
Seth
  • 321
  • 1
  • 3
  • 4

11 Answers11

40

One common cause for this is a "locked" SD card. Unfortunately it seems that the sensor in the MacBook Pro and Air can get stuck. It can be fixed with a can of compressed air.

A lot of us ran into this trying to image SD cards for the Raspberry Pi. And with that device you have no option but to boot off of the SD.

This raises a fascinating fact. It seems that the lock switch is a purely mechanical "intent indicator" that must be sensed by the host device. This is analogous to the way the lock switch worked on 3.5" floppy drives, so it should be no shock to those of us old enough to have to punch a hole in our 5.25" floppies to make them writeable. (And cover the hole with tape to make them readonly!) However, because it is called Secure Digital and is solid state, you would expect the card to protect itself, not rely on the host.

Bruno Bronosky
  • 939
  • 11
  • 14
13

I came across this once too. Use diskutil to check the device your SD card appears as:

diskutil list

Then unmount it (Don't unmount using 'Finder', it wont work):

diskutil unmountDisk /dev/disk4

Now use the dd command to load your image:

sudo bash -c 'gzip -dc the_image_file.img.gz | dd of=/dev/disk4'

I hope this helps.

tesaguri
  • 3
  • 2
Josh
  • 131
3

Since it's silly that sudo (essentially 'root') can't access the device with dd it would seem that the error message "Permission denied" does not actually mean that root has a permissions problem. iow it's a red herring.

Double check that the device is not still mounted - run the unmount command again as per step 7 and double check that it really is unmounted but still accessible as a device.

A common problem I've had with making USB boot devices under linux is an inconsistent partition table. Delete the partition table completely and remake it, then create the new new partition as FAT and format it for good measure. The errors I get under Linux don't make any more sense than this one, so I'm hoping that this is what your problem is.

I'll have a shot at removing the partition table under OSX. Note that I am a linux user, so I'm relying on the fact that OSX is similar, and that the same thing seems to be found for OSX on a google search.

First we'll use dd to erase the partition table on the USB drive. In a terminal type:

sudo dd if=/dev/zero of=/dev/disk4 bs=512 count=1

This should overwrite the first 512 bytes of the device, thus destroying the partition table. Instructions I found here seem to suggest

sudo dd if=/dev/zero of=/dev/disk4 bs=1 count=1024

for OSX however the difference is minor and I believe the end result should be the same. As for any dd operation make sure you have the correct partition as there will be nothing left of the data on the device after you press enter.

Next I believe you should use disk utility to to recreate the partition table, and a new partition, and format it FAT. I'm a linux user, so I'm afraid I can't be more specific but I believe that the disk utility should complain that that there is no partition table and either make one for you, or prompt you to do so.

fabricator4
  • 8,471
  • 1
  • 37
  • 39
2

Here was my solution:

Sudo wasn't asking for my password when I tried to use it. I thought that was odd.

So, I su'd to root and did it from there.

sudo su
<enter password>

Then I ran the commands and they worked.

1

Use sudo in front of the dd command

sudo dd if=/Users/JPurcell/Downloads/Fedora-18-x86_64-Live-Desktop.iso of=/dev/disk2

WARNING: Improper use of the sudo command could lead to data loss or the deletion of important system files. Please double-check your typing when using sudo. Type "man sudo" for more information.

that fixed the permission denied for me. it seems to be working now.

and I was root before hand. I also did the

sudo dd if=/dev/zero of=/dev/disk4 bs=1 count=1024 before sudo dd if=/Users/JPurcell/Downloads/Fedora-18-x86_64-Live-Desktop.iso of=/dev/disk2

I did it right after without reformatting the usb drive. I dont know if its been successful but lights blinking on the drive and terminal is not giving me errors.

Braiam
  • 69,112
Joe
  • 11
1

Potentially try ejecting the usb drive and reformatting first, then retry all the steps. diskutil list, unmount, then write the iso to the disk. I ran into similar issues where dd was giving permission denied errors and I reformatted my usb and everything worked correctly.

Ben
  • 11
1

ls -l /dev/disk2 gave me this result:

brw-r-----  1 root  operator    1,   5 Dec 17 10:27 /dev/disk2

I solved the problem by changing the owner of the file:

sudo chown <myUser>:<myGroup> /dev/disk2

Then I was able to dd the files to the USB stick.

muru
  • 207,228
Chris
  • 11
  • 1
0

For me, simply restarting the Macbook solved the problem.

0

From this related question, a comment on the highest-voted answer seems to suggest you aren't the only one having troubles with dd.

The same answer recommends using optical media (a.k.a. a LiveDVD) instead of a USB drive if you can, as that seems more reliable.

*Note: I am not and never was a Mac user, so I'm afraid I can't help out much more than this.

0

Well, I struggle a lot with this but finally succeed...

server:~ myusername$ sudo dd if=/Users/myusername/Desktop/ubuntu1304.img of=/dev/disk1s1 bs=1m

WARNING: Improper use of the sudo command could lead to data loss or the deletion of important system files. Please double-check your typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:******

DONE!

Points to check: USB formated for FAT usb disk should be unmounted. usb disk => 2Gb All this in iOSX Mavericks ver 10.9

Hope this helps!

Seth
  • 59,332
0

I ran into this problem because I was attempting to dd the wrong device. diskutil list showed /dev/disk0, /dev/disk1, and /dev/disk2 I was using /dev/disk2 should have been /dev/disk1