Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I bought a bunch of USB sticks that I want to give as a gift to friends and clients, with some files on them. I'd like to have the files non-erasable (though I realise they can format the drive, I know that most of them won't, it's just to prevent accidental deletion of the files), while keeping the rest of the space free for them to use as they prefer.

I was told that the best option would be to make two partitions, one of them read-only, and the other read-write. I can do that with the max file system, but I need something that works cross-platform.

I thought I found my answer here http://apple.stackexchange.com/a/24120/31048 (create an ISO9660 "DVD/CD Master" and burn it on the drive using diskutil command line), but it produces something that can't be mounted anywhere.

Any ideas?

Thanks!

EDIT I found a solution, but it doesn't solve everything. First, the CDR format that Utility Disk creates is not usable as it is, you need to convert it to ISO

hdiutil makehybrid -iso -joliet -o IMAGE.iso IMAGE.cdr

and then to DMG, using the following command:

hdiutil convert -format UDRW -o IMAGE.dmg IMAGE.iso

If you then burn the DMG file into the correct drive

sudo dd if=IMAGE.dmg of=/dev/rdisk1 bs=1m

It will work as expected: read only partition, compatible cross-platform. THe only problem I have left is this: the method described above formats the whole drive and creates one read-only partition, while the rest of the free space on the pen drive can't be used.

If I create two partitions, like this:

diskutil list
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *2.1 GB     disk1
   1:       Microsoft Basic Data UNTITLED 1              299.9 MB   disk1s1
   2:       Microsoft Basic Data UNTITLED 2              1.8 GB     disk1s2

And run this command:

sudo dd if=IMAGE.dmg of=/dev/rdisk1s1 bs=1m

It does write the IMAGE on the first partition, but it's unreadable. Is there a way to have both a read-only partition and another one that can be used as a normal VFAT, to copy/delete files in?

Thanks.

share|improve this question
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.