I sent this recently to the SUSE packet writing mailing list - it may help you. Note carefully the syntax of pktsetup - you can call the block device (that I named cdpkt) anything you like.
I think I may have the answer to this. I struggled for days to get this
working and had the same 'Inappropriate ioctl' error despite doing exactly
what every instruction told me. I use kernel 2.6.12 on Vector Linux and
the latest udftools-1.0.03b. However, I finally found this site run by the current
on which he said to apply this patch to the latest udftools even for
kernel 2.6 :
That did the trick for me and it all works perfectly.
What happened was that <modprobe pktcdvd> created the directory
/dev/pktcdvd and <pktsetup cdpkt /dev/hdc> created the file
/dev/pktcdvd/cdpkt. Problem was that this was an empty text file
instead of a block device - hence the 'inappropriate ioctl' error.
Patching the udftools made it create a block device instead that pointed
to my cdrom /dev/hdc.
I put this in /etc/fstab :
dev/pktcdvd/cdpkt /mnt/cdpkt udf noauto,user,rw 0 0
amd made a folder /mnt/cdpkt to contain the contents.
I then put pktsetup /cdpkt /dev/hdc in my /etc/rc.d/rc.local so it
registers automatically every time I bootup.
Hope this helps. My researches showed lots of people seem to have this
problem, and the need for the patch is not at all clear - all sources
implied that the latest udftools-1.0.03b together with kernel >= 2.6.10
should work. Seems not so.