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

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.