Hlavní navigace

UDF - Unit Designed for Fighting

Tritol 12. 3. 2002

Tak takovouhle krávovinu na vás vysype internetový "překladač" akronym. UDF samozřejmě znamená Universal Disk Format a používá se na DVD. Díky linuxovým vývojářům je možné ho použít na CD-RW pro běžné kopírování a přenos dat, stejně jako např. u ZIPky. Jelikož podpora zápisu na UDF není standardní součástí jádra, je potřeba udělat několik kroků, které se pokusím shrnout v následujícím článku.

Několik poznámek na úvod:

  1. Podpora je zatím pouze pro přepisovatelná média (CD-RW), což má jednu moc pěknou výhodu: po smazání dat z média jsou uvolněny i alokované bloky, takže na médiu „přibyde“ místo. :)
  2. Pro zápis budete potřebovat CD recordér s možností zápisu na CD-RW a podporou tzv. packet writing (většina moderních vyhovuje).
  3. UDF filesystém lze číst i na „obyčejné“ CD-ROM mechanice, ta ovšem musí mít podporu pro čtení médií vytvořených přes packet writing (což lze logicky předpokládat) – opět vyhoví většina moderních „drajvů“.
  4. Protože každá sranda něco stojí, naformátované médium nebude mít kapacitu 650 MB, ale přibližně 530 MB (zbytek „sežere“ UDF struktura). Trochu smutné, ale co se dá dělat, je to pořád leší než přenášet data na šesti ZIPkách. :)
  5. Pro zprovoznění UDF zápisu je potřeba základních znalostí práce s Linuxem, jako je například kompilace jádra, takže není určen úplným začátečníkům.
  6. Jelikož se bude „záplatovat“ kernel, je dobré si ho zazálohovat pro případ, že něco nevyjde.
  7. Postup je popsán pro kernel 2.4.18, ale měl by fungovat obecně pro jakékoliv 2.4.x, záleží na „záplatách“, které aplikujete (mohl by fungovat i pro ostatní verze kernelu, ale s tím asi budete mít víc práce…)
  8. Nevím, přes jaký filesystém je realizovám packet writing na M$ Windows, takže nezaručuji, že zformátované disky budou přenositelné mezi platformami. Nicméně existuje driver, který do woken přidá podporu čtení disků naformátovaných na UDF z Linuxu.

Postup (rychlý a bez omáčky):

  1. Stáhnout UDF tools, doporučuji verzi 0.9.5 (udf-0.9.5.tar.gz), dobrodruzi (jako já :) mohou zkusit nějakou betu od verze 1.0.0 (aktuálně udftools-1.0.0b2.tar.gz).
  2. Pokud jste konzervativně zvolili 0.9.5, doporučuji stáhnout aktualizaci cdrwtool (.c a .h) – odstraní chybu se špatným určením velikosti média (není nutné, ale budete muset zadávat velikost média ručně). Updatovat je možno i přes CVS.
  3. Stáhnout záplatu pro jádro 2.4.18 (ale jsou tam i další).
  4. Aplikovat záplatu (např. v adresáři, kde máte zdrojáky kernelu i rozbalenou záplatu patch -p0 <packet-2.4.18.patch)
  5. Nakonfigurovat kernel (make xconfig), v Block devices zvolit „packet writing on cd/dvd media – module“ a „enable write caching – no“. V sekci File systems „UDF file system suport – module“ a „UDF write support – yes“.
  6. Překompilovat kernel (make dep; make bzImage; make modules; make modules_install) + nabootovat nový kernel.
  7. Rozbalit stažené UDF tools (u verze 0.9.5 nahradit zdrojáky cdrwtools novějšími z cvs). Zkompilovat, pro 0.9.5 make tools (make install nemá cenu, protože na tools nemá vliv, přeložené binárky si musíte někam ručně zkopírovat – doporučuji adresář /usr/local/bin/), pro 1.0.0 ./configure; make; make install.
  8. Vložit CD-RW médium do mechaniky (bude vymazáno) a dát cdrwtool -d /dev/[recorder] -q (a pravděpodobně i -t [rychlost], cdrwtool zatím nemá autodetekci maximální bezpečné rychlosti média). Pokud hlásí „set options“, něco je špatně, mně pomohlo médium vymazat (něco jsem na něm měl). Program sám si médium maže, ale quick setup (-q) asi nefunguje zcela dokonale.
    Pokud bude všechno ok, vysype se na vás něco podobného:
    using device /dev/writer
    setting speed to 8
    1270KB internal buffer
    setting write speed to 8x
    Settings for /dev/writer:
            Fixed packets, size 32
            Mode-2 disc
    
    I'm going to do a quick setup of /dev/writer. The disc is
    going to be blanked and formatted with one big track. All
    data on the device will be lost!! Press CTRL-C to cancel now.
    ENTER to continue.

    a po ENTERu

    Initiating quick disc blank
    Disc capacity is 273824 blocks (547648KB/534MB)
    Formatting track
  9. Počkat cca 20 minut, než se médium naformátuje (na 8 speed médiu). Konec určitě nepřehlédnete, v terminálu se objeví přiřazení sektorů či bloků (nebo co to vlastně je :)
  10. Reloadnout médium.
  11. Pomocí chkudf [device] lze vypsat spoustu (zbytečných) informací o UDF filesystému.
  12. Pokud neexistuje /dev/pktcdvd0, vytvořit ho (mknod /dev/pktcdvd0 b 97 0)
  13. Nastavit recorder – pktsetup /dev/pktcdvd0 /dev/[recorder]. Pokud píše: „open packet device: No such device or address“, nahodit modul pktcdvd – modprobe -v pktcdvd. Dobré je přidat do /etc/modules.conf řádku alias block-major-97 pktcdvd a zajistit tak autoload modulu.
  14. Přimountovat UDF CD (mount /dev/pktcdvd0 /mnt/[mountpoint]) a můžete začít vesele zapisovat… :)

Jak si trochu ulehčit život:

Následující věci by vám mohly trochu ulehčit práci, nicméně netvrdím, že jsou elegantní a jednoduché. Pokud někdo máte nějaký nápad na zlepšení, do diskuse s ním…

  1. Do /etc/fstab je dobré přidat si něco ve smyslu /dev/pktcdvd0 /mnt/packet udf noauto,users 0 0 (adresář /mnt/packet by měl existovat). Problém zatím je, jak docílit spuštění pktsetup při mountování. Šlo by sice vytvořit /sbin/mount.udf a tam udělat pořebné kroky, ale není to bez problémů. Taky nevím, jestli přiřazení aktivní po pktsetup nebude způsobovat problémy při normálním vypalovaní (nutno vyzkoušet).
  2. Zatím mám definované aliasy cdmp=‚pktsetup /dev/pktcdvd0 /dev/writer;mount /mnt/packet‘ a cdup='umount /mnt/packet;pktse­tup -d /dev/pktcdvd0. To taky není zcela ideální, zvláště v případě, že umount skončí s chybou…
  3. Pokud budete chtít přimountovat UDF CD v normální CD-ROM, je třeba buď mountu definovat filesystém (-t udf), nebo si do /etc/fstab u /dev/cdromiso9660 přidat ještě udf (oddělené čárkou), případně iso9660 nahradit za auto a do /etc/filesystems přidat udf za iso9660 (na samostatný řadek). Problém tohoto řešení spočívá v tom, že nebudete moci použít paremetry, které zná iso9660, ale udf nikoliv (např. mode).

A to by pro dnešek už snad mohlo stačit. :)

Na závěr bych rád poděkoval PaVLovi za nasměrování, několik skvělých nápadů a morální podporu.

Našli jste v článku chybu?

10. 9. 2005 19:13

uživatel si přál zůstat v anonymitě
Po zkusenostech s CD-RW ani DVD-RW nezkousim ... u pomerne hodne CD-RW se mi stalo, ze po case prestali chodit. A to jsem nemazal jen postupne nahraval soubory. Nevim jak je UDF koncipovano, ale tak trochu na me pusobi jako kdyby byla nejaka tabulka na zacatku disku, ktera se pomerne casto prepisuje, coz ma za nejaky cas katastrofalni nasledky. Jedine co delam je multisession na RW a v pripade zaplneni prepal na R/+R/-R. Dulezite zalohy palim na R a soucasne na RW protoze by melo vyrzet dele, al…
Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Vitalia.cz: Pečete cukroví a zbyl vám bílek?

Pečete cukroví a zbyl vám bílek?

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Lupa.cz: Babiš: E-shopů se EET možná nebude týkat

Babiš: E-shopů se EET možná nebude týkat

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

DigiZone.cz: Flix TV má set-top box s HEVC

Flix TV má set-top box s HEVC

Podnikatel.cz: Babiš: E-shopy z EET možná vyjmeme

Babiš: E-shopy z EET možná vyjmeme

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí