linux-udf
Parece ser o projeto que você está procurando, projeto linux-udf . O projeto é mencionado no arquivo udf.txt do Linux Kernel .
Olhando através do seu site sourceforge, o download chama-se udftools
. Pesquisando dentro do repositório de pacotes do Fedora 19, encontrei o pacote exato.
$ yum search udf | grep "^udf"
udftools.x86_64 : Linux UDF Filesystem userspace utilities
udftools-debuginfo.x86_64 : Debug information for package udftools
Conteúdo do RPM.
$ rpm -ql udftools
/usr/bin/cdrwtool
/usr/bin/mkudffs
/usr/bin/pktsetup
/usr/bin/udffsck
/usr/bin/wrudf
/usr/share/doc/udftools-1.0.0b3
/usr/share/doc/udftools-1.0.0b3/AUTHORS
/usr/share/doc/udftools-1.0.0b3/COPYING
/usr/share/doc/udftools-1.0.0b3/ChangeLog
/usr/share/man/man1/cdrwtool.1.gz
/usr/share/man/man8/mkudffs.8.gz
/usr/share/man/man8/pktsetup.8.gz
Analisando as ferramentas listadas acima.
cdrwtool
The cdwrtool command can perform certain actions on a CD-R, CD-RW, or DVD-R device. Mainly these are blanking the media, formating it for use with the packet-cd device, and applying an UDF filesystem.
mkudffs
mkudffs is used to create a UDF filesystem on a device (usually a disk). device is the special file corresponding to the device (e.g /dev/hdX). blocks-count is the number of blocks on the device. If omitted, mkudffs automagically figures the file system size.
pktsetup
Pktsetup is used to associate packet devices with CD or DVD block devices, so that the packet device can then be mounted and potentially used as a read/write filesystem. This requires kernel support for the packet device, and the UDF filesystem.
See: http://packet-cd.sourceforge.net/ ⟨⟩
Formatando um DVD UDF
Este tutorial mostra como você pode formatar um DVD usando UDF, intitulado: Como formatar um DVD com UDF .
Exemplo
$ sudo mkudffs --media-type=dvd /dev/dvd
trying to change type of multiple extents
$ sudo dvd+rw-format /dev/dvd
* DVD±RW/-RAM format utility by , version 6.1.
* 4.7GB DVD+RW media detected.
* formatting 9.5\
$ sudo mkudffs /dev/dvd
start=0, blocks=16, type=RESERVED
start=16, blocks=3, type=VRS
start=19, blocks=237, type=USPACE
start=256, blocks=1, type=ANCHOR
start=257, blocks=16, type=PVDS
start=273, blocks=1, type=LVID
start=274, blocks=2294573, type=PSPACE
start=2294847, blocks=1, type=ANCHOR
start=2294848, blocks=239, type=USPACE
start=2295087, blocks=16, type=RVDS
start=2295103, blocks=1, type=ANCHOR
Determinar o tipo de mídia
$ sudo dvd+rw-mediainfo /dev/dvd
Fazendo um ISO
Acho que você descarta rapidamente genisoimage
. Se você olhar através da página de manual para isso, há essa opção:
-udf Include UDF filesystem support in the generated filesystem image.
UDF support is currently in alpha status and for this reason, it is
not possible to create UDF-only images. UDF data structures are
currently coupled to the Joliet structures, so there are many
pitfalls with the current implementation. There is no UID/GID
support, there is no POSIX permission support, there is no support
for symlinks. Note that UDF wastes the space from sector ~20 to
sector 256 at the beginning of the disc in addition to the space
needed for real UDF data structures.
Exemplo
$ genisoimage -udf -o image.iso R/
I: -input-charset not specified, using utf-8 (detected in locale settings)
Using SPLIT000.HTM;1 for R/x86_64-redhat-linux-gnu-library/2.13/plyr/html/splitter_a.html (splitter_d.html)
Using LIST_000.HTM;1 for R/x86_64-redhat-linux-gnu-library/2.13/plyr/html/list_to_vector.html (list_to_dataframe.html)
Using INDEX000.HTM;1 for R/x86_64-redhat-linux-gnu-library/2.13/plyr/html/indexed_array.html (indexed_df.html)
...
...
Using TEST_002.R;1 for R/x86_64-redhat-linux-gnu-library/2.13/plyr/tests/test-split-labels.r (test-split-data-frame.r)
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 24576
Path table size(bytes): 134
Max brk space used 43000
1141 extents written (2 MB)
Agora, se verificarmos o arquivo .iso
resultante.
$ file im.iso
image.iso: # UDF filesystem data (version 1.5) 'CDROM '
Para confirmar que image.iso
é realmente um sistema de arquivos UDF, podemos montá-lo apenas para verificar novamente.
$ sudo mount -o loop image.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only
Agora, veja como ele foi montado por meio do comando mount
.
$ mount | grep '/mnt'
/home/saml/image.iso on /mnt type udf (ro,relatime,utf8)