LINUX.ORG.RU

mkisofs / k3b делает битый UDF образ

 ,


0

1

Всем привет!

Хочу записать файл 7Gb на DVD. Делаю с помощью k3b, он использует mkisofs. Чтобы исключить возможные баги с DVD приводом, да и просто не портить болванку, делаю образ. Есть поддержка Joilet, Rock Ridge, udf (последнее оно само включает, так как видит большой файл).

Лог создания образа:

Devices
-----------------------
ATAPI DVD A  DH20A1S UX11 (/dev/sr0, CD-R, CD-RW, CD-ROM, DVD-ROM, DVD-R, DVD-RW, DVD-R DL, DVD+R, DVD+RW, DVD+R DL) [DVD-ROM, DVD-R Sequential, DVD-R Dual Layer Sequential, DVD-R Dual Layer Jump, DVD-RAM, DVD-RW Restricted Overwrite, DVD-RW Sequential, DVD+RW, DVD+R, DVD+R Dual Layer, CD-ROM, CD-R, CD-RW] [SAO, TAO, RAW, SAO/R96P, SAO/R96R, RAW/R16, RAW/R96P, RAW/R96R, Restricted Overwrite, Layer Jump] [%7]

K3b::IsoImager
-----------------------
mkisofs print size result: 3641913 (7458637824 bytes)

System
-----------------------
K3b Version: 2.0.2
KDE Version: 4.9.4
QT Version:  4.8.4
Kernel:      3.6.2-gentoo-lix-k03

Used versions
-----------------------
mkisofs: 3.1a10

mkisofs
-----------------------
3641913
mkisofs: Warning: Cannot add inode hints with -no-cache-inodes.
=== last message repeated 2 times. ===
Setting input-charset to 'UTF-8' from locale.
  0,01% done, estimate finish Fri Jan  4 21:35:46 2013

...

 99,99% done, estimate finish Fri Jan  4 21:46:24 2013
Total translation table size: 0
Total rockridge attributes bytes: 335
Total directory bytes: 498
Path table size(bytes): 10
Max brk space used 0
3641913 extents written (7113 MB)

mkisofs calculate size command:
-----------------------
/usr/bin/mkisofs -gui -graft-points -print-size -quiet -volid Contact -volset  -appid K3B THE CD KREATOR (C) 1998-2010 SEBASTIAN TRUEG AND MICHAL MALEK -publisher  -preparer  -sysid LINUX -volset-size 1 -volset-seqno 1 -sort /tmp/kde-kroz/k3bR25360.tmp -rational-rock -hide-list /tmp/kde-kroz/k3bk25360.tmp -joliet -joliet-long -hide-joliet-list /tmp/kde-kroz/k3bU25360.tmp -no-cache-inodes -udf -full-iso9660-filenames -iso-level 3 -path-list /tmp/kde-kroz/k3bD25360.tmp

mkisofs command:
-----------------------
/usr/bin/mkisofs -gui -graft-points -volid Contact -volset  -appid K3B THE CD KREATOR (C) 1998-2010 SEBASTIAN TRUEG AND MICHAL MALEK -publisher  -preparer  -sysid LINUX -volset-size 1 -volset-seqno 1 -sort /tmp/kde-kroz/k3bf25360.tmp -rational-rock -hide-list /tmp/kde-kroz/k3be25360.tmp -joliet -joliet-long -hide-joliet-list /tmp/kde-kroz/k3bz25360.tmp -no-cache-inodes -udf -full-iso9660-filenames -iso-level 3 -path-list /tmp/kde-kroz/k3bp25360.tmp

Результирующий образ монтируется, видно файл, но файл не читается (не копируется, не открывается). В /var/log/messages следующее:

При монтировании:

Jan  4 21:52:47 localhost kernel: [11559.072039] UDF-fs: warning (device loop0): udf_load_vrs: No anchor found
Jan  4 21:52:47 localhost kernel: [11559.072043] UDF-fs: Rescanning with blocksize 2048
Jan  4 21:52:47 localhost kernel: [11559.072215] UDF-fs: Partition marked readonly; forcing readonly mount
Jan  4 21:52:47 localhost kernel: [11559.072228] UDF-fs: INFO Mounting volume 'Contact', timestamp 2013/01/04 21:35 (1078)

При попытке прочитать файл:

Jan  4 21:53:26 localhost kernel: [11598.073068] attempt to access beyond end of device
Jan  4 21:53:26 localhost kernel: [11598.073073] loop0: rw=0, want=14567776, limit=14567652
Jan  4 21:53:26 localhost kernel: [11598.073078] attempt to access beyond end of device
Jan  4 21:53:26 localhost kernel: [11598.073080] loop0: rw=0, want=14567784, limit=14567652
Jan  4 21:53:26 localhost kernel: [11598.074303] attempt to access beyond end of device
Jan  4 21:53:26 localhost kernel: [11598.074306] loop0: rw=0, want=14568032, limit=14567652
Jan  4 21:53:26 localhost kernel: [11598.074310] attempt to access beyond end of device
Jan  4 21:53:26 localhost kernel: [11598.074312] loop0: rw=0, want=14568040, limit=14567652
Jan  4 21:53:26 localhost kernel: [11598.074998] attempt to access beyond end of device
Jan  4 21:53:26 localhost kernel: [11598.075000] loop0: rw=0, want=14567656, limit=14567652
Jan  4 21:53:26 localhost kernel: [11598.075072] attempt to access beyond end of device
Jan  4 21:53:26 localhost kernel: [11598.075074] loop0: rw=0, want=14567656, limit=14567652

Под Виндой тоже не читается (записывал на диск, собственно так и обнаружилась проблема)

Что это может быть?
Кто-то может повторить эксперимент, подтвердить баг?

Заранее благодарю откликнувшимся.

★★★★★

Ответ на: комментарий от kostik87

Сколько у вас доступно на /tmp ?

6.1G . Но образ я пишу не в /tmp, а в /home, на котором места достаточно.

Kroz ★★★★★ ()

В общем вот: https://bugs.gentoo.org/show_bug.cgi?id=394553#c20

Вкратце - если убрать -sort , то все заработает. Это актуально только для больших файлов и udf.

У меня получилась такая команда:

$ /usr/bin/mkisofs -gui -graft-points -volid volume_id -rational-rock -hide-list empty.txt -joliet -joliet-long -hide-joliet-list empty.txt -no-cache-inodes -udf -full-iso9660-filenames -iso-level 3 -path-list list.txt -o the_image.iso
где empty.txt - пустые, а list.txt содержит список вида file_on_dvd=/path/to/file

Спасибо, милый ЛОР, за вдохновение :)

Kroz ★★★★★ ()

Подвержена версия app-cdr/cdrtools-3.01_alpha10 ; версия app-cdr/cdrtools-3.00 нормально отрабатывает.

Kroz ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.