Linux і udf

Linux і UDF

Будь-який власник приводу CD-ROM - це щасливий власник, підтвердить будь-який, у кого цей привід ламався, і хто відчув всю красу існування в сучасному комп'ютерному світі без цього приводу =) Але це може і сказати власник пише CD пристрою. Особливо, якщо він ніколи не записував диск під UNIX / Linux. Тому, хто працював з GUI в Windows, дуже складно звикнути до «спартанської» обстановці в світі * NIX. Та й сама процедура запису на компакт-диск, що прийшла до нас з давніх часів, більше схожий на танець шамана біля багаття. Її головний недолік (багатьма розцінюється як гідність) - незручність створення записів і тривалість їх створення. Прихід CD-RW (перезаписуваного компакт-диска), що не ознаменував нічого нового для користувача в сенсі зручності записи: як і раніше доводилося створювати сесію, а до цього ще довго форматувати болванку. У мінусі була і низька швидкість запису (Через тривалого процесу форматування).

На жаль, як і будь-яка файлова система, UDF не позбавлена ​​недоліків, найголовніший з яких - досить маленький об'єм для запису (550-590Мб). Але, погодьтеся, це не так вже й мало ;-)

Я не раджу використовувати ядра зі всіляких дистрибутивів (RedHat, Mandrake або інших) - по-перше, їх склад і організація досить сильно відрізняється від того, що є на kernel.org. По-друге, всілякі зміни можуть конфліктувати з патчами. По-третє, вам просто не вдасться правильно «накласти» патч. Це відноситься і до версій від Alan Cox і інших kernel maintainers. Використовуйте тільки ядро ​​від Linus'а Torvals'a, якщо вам не не потрібна зайвий головний біль! Якщо ви не злякалися, можете спробувати додати підтримку packet-writing в ядро ​​зі свого улюбленого дистрибутива і написати мені про результати 8-) На сьогоднішній день офіційно packet-writing підтримує тільки SuSe Linux, в інших поки невідомо. По-крайней мере, ядро ​​2.4.18-alt0.2.pre4-up з ALTLinux Sisyphus, пише на cd-rw досить стабільно.

ОФФ. Я вже досить вас налякав 8-) Отже, почнемо.

Читання і запис udf дисків під Linux

Увага! Під час підготовки вашої системи Linux до читання / запису udf, вам доведеться зіткнутися з самостійними змінами вихідного коду ядра системи і користуватися різними засобами розробки (gcc, patch, make etc). Якщо ви не знаєте що це таке і не вмієте цим користуватися, то краще і не намагайтеся ;-)

На сьогоднішній день в ядрах багатьох дистрибутивів є підтримка читання udf дисків (будь ласка, повідомте мені назву дистрибутива, в якому немає підтримки udf, і я обов'язково включу його в наступну версію цього документа). Мною було перевірено:

Як правило, якщо дистрибутив заснований на ядрі 2.2, то підтримка udf включена факультативно за допомогою патча з сайту проекту linux-udf. Якщо у вашому дистрибутиві немає такої підтримки, то ви можете додати її самостійно:

1. Завантажити з сайту проекту linux-udf всі необхідні файли (останні версії доступні на SourceForge). На сьогоднішній день остання версія - 0.9.5, яка регулярно синхронізується з ядрами 2.4 і 2.5, так що для читання udf, вам досить включити підтримку UDF в розділі Filesystems, і там же - можливість запису, якщо ви плануєте запис на DVD-RAM. Якщо у вас ядро ​​2.2, то вам доведеться самостійно зібрати модуль ядра (дивіться нижче).

2. Розпакуйте файли з linux-udf і зайдіть в отриманий каталог. Тепер можна набрати ./Configure; make udf.o; su; make install і якщо ви все правильно вказали, модуль udf.o буде скомпільовано і встановлено. У разі невдачі, перевірте коректність установки компілятора і / або необхідних коштів для збірки (make, glibc headers, binutils). Перевірити працездатність зібраного модуля просто - спробуйте змонтувати який-небудь UDF диск:

Далі з таким диском можна звертатися і як зі звичайним CD-ROM'ом.

Підготовка до запису udf диска під Linux

1. Переконайтеся, що у вас є вихідний код ядра (і що воно завантажено з офіційного сайту kernel.org), і що його версія 2.4.6 або вище.

2. Скачайте і розпакуйте вихідний код ядра.

3. Встановіть патч до ядра:

4. Налаштуйте ядро

або make xconfig або просто make config. якщо у вас прокинулася ностальгія ;-)

5. У меню конфігурації ядра, в секції Block devices виберіть Packet writing on CD / DVD media (не забудьте включити підтримку записи UDF в секції Filesystems). Спробуйте ще задіяти Enable write caching. але це працює не для всіх CD-RW приводів. Далі, в розділі Filesystems, включіть підтримку udf, і можливість запису на udf.

6. Зберіть і встановіть нове ядро, перезавантажте систему.

7. Зберіть cdrwtool, pktsetup і mkudffs (з udftools):

Після того, як ви встановили і зібрали ядро ​​з підтримкою пакетного запису, саме час подумати, як і чим записувати CD-RW диски =) До жаль стандартні програми запису дисків під Linux (cdrecord і mkisofs) тут безсилі - підтримка udf в них тільки планується , так що доводиться користуватися засобами, які пропонують розробники проекту linux-udf. У пакеті для цього передбачені 3 програми (зараз вони об'єднані в пакет udftools, який також можна завантажити на сайті linux-udf):
  • pktsetup, служить для установки зв'язку з packet device (тобто CD-RW приводом),
  • cdrwtool, потрібна для початковоїрозмітки / форматування диска CD-RW.
  • mkudffs, служить для створення udf-образів (підтримуються dvd, dvdram, cd-r та інші).

8. Беремо чистий CD-RW і форматіруем його (вважаючи, що CD-RW - це sr0):

нижче наведено висновок програми (тут і далі - дані з замітки Glenn'а Mullikin'а):

По-крайней мере, для 700Мб дисків Verbatim проблема була вирішена.

Поточна версія udftools володіє ще одним недоліком - диски, записані під Linux, не читаються під M $ Windows, т.к на думку програм читання (типу DirectCD), мають неправильний заголовок. Але і це можна вирішити :) Ben придумав ще один патч

Потім створювати диск за допомогою такої команди: де - к-ть блоків на диску (зазвичай 294048)
або відразу при форматуванні:

9. Створюємо / dev / pktcdvd0, якщо його не існує:

10. Встановлюємо ваш cd-rw рекордер:

11. Тепер, можете змонтувати / dev / pktcdvd0 і копіювати на нього файли!

Тепер ви готові до запису!

Подяки

Спасибі всім, захоче прочитати UDF HOWTO до кінця і внести виправлення і доповнення :))

Спасибі const _oshiyko ([email protected]), за знайдені в документі неточності і помилки.

Анонси статей сайту Softerra

Схожі статті

Copyright © 2024