
Za standardem Mt. Rainier stojí významní výrobci, a tak se zdá, že se rozšíří velmi rychle. Většina vypalovaček, které nyní přicházejí na trh, již podporu tohoto standardu zahrnuje. Pro některé starší zřejmě bude vydán nový firmware s jeho podporou.
Mt. Rainier vychází ze staršího standardu paketového zápisu. Co nového přináší? Paketový zápis vyžadoval formátování média, jež zabralo desítky minut. Médium v systému Mt. Rainier se naproti tomu formátuje průběžně nebo na pozadí a je připraveno pro první zápis zhruba za deset sekund. Již není třeba posílat 64k pakety, ale vypalovačka se stává navenek standardním blokovým zařízením s 2k bloky. Třetí zásadní novinkou je správa vadných bloků. U paketového zápisu se o ni musel postarat souborový systém (což například novější UDF umí), nyní je vestavěná přímo ve firmwaru vypalovačky.
To vše dohromady zajišťuje, že po Mt. Rainier naformátování se CD-RW stává standardním blokovým zařízením, které je možné adresovat v režimu LBA podobně jako pevné disky. Na takovém médiu tedy nejste omezeni na UDF (nebo ISO-9660), ale můžete jej bez problémů používat s jakýmkoliv souborovým systémem (třeba i ext2). Standard zahrnuje i bootovatelné disky typu El Torito.
Aby bylo možné zapisovat v systému CD-MRW, je bezpodmínečně nutná podpora ve firmwaru vypalovačky. Naproti tomu čtení je teoreticky možné též s pomocí softwarové podpory přemapování defektů (pokud mechanika splňuje standard Multiread). Žádná taková podpora však zatím zřejmě neexistuje (na žádné platformě), takže i na čtení budeme zatím potřebovat mechaniku s podporou Mt. Rainier. (Situace je zde obdobná jako u softwarových modemů, zde je však detailní popis standardu alespoň dostupný, i když ne volně.)
Jak tedy postupovat při zprovozňování Mt. Rainier pod Linuxem?
Budeme potřebovat záplatu do jádra a malou uživatelskou aplikaci. Pokud použijeme souborový systém UDF, pak i nástroje pro práci s ním.
Autorem podpory Mt. Rainier pro Linux je Jens Axboe. Dokumentace zatím neexistuje, pomineme-li dva e-maily v linuxové konferenci. Záplatu naleznete v jeho adresáři na ftp.*.kernel.org. Nová záplata se zřejmě objeví v podadresáři jiného jádra, podle toho, jaká verze jádra bude tou dobou aktuální. Verzi 2 jsem testoval s jádrem 2.4.19-pre8 (zde funguje a jednu odmítnutou část záplaty lze ignorovat – jedná se o duplicitní opravu). Jádro 2.4.17 se zasekává (podobné problémy zde byly i s paketovým zápisem). Ovladač by měl zřejmě fungovat i nativně pro ovladače CD-ROM IDE/ATAPI, ale mně se jej podařilo zprovoznit pouze s ide-scsi. Záplatu nelze jednoduše kombinovat se
V jádře musíme povolit podporu SCSI a SCSI CD-ROM a podporu IDE emulace SCSI (pokud máte vypalovačku, máte toto již zřejmě nastaveno, neboť nativní podpora ATAPI/IDE vypalování (v pre-alfa verzi) je v projektu cdrtools stará teprve dva měsíce). Pokud chceme používat UDF, nezapomeneme ho též zapnout, a to i s podporou zápisu. Dále zapneme v jádře i podporu znakových sad, které budeme používat.
Pokud vypalovačka nemá autodetekci zápisové rychlosti média, přijde nám vhod cdrwtool
z udftools:
cdrwtool -d /dev/cdrom -t rychlost
Dalším nástrojem je uživatelský program cdmrw, který umožní disk naformátovat. Ten jednoduše zkompilujeme (cc -O cdmrw.c -o cdmrw) a nainstalujeme. Před prvním použitím CD-RW v systému Mt. Rainier spustíme:
cdmrw -d /dev/cdrom -f full
(Předpokládám platný odkaz na /dev/cdrom. Pokud jste již někdy používali paketový zápis, jistě jste si všimli, že není potřebná žádná inicializace paketového zařízení.)
Program ukončí svou činnost zhruba za deset sekund. Vypalovačka poté může pokračovat ve formátování (což u mne neučinila). Pokud v takovém případě chceme CD vyjmout, musíme formátování zastavit (u mne nebylo nutné). Po příštím vložení CD můžeme ve formátování pokračovat. Další možností je sledovat postup formátování. Bez argumentů vypíše program krátkou nápovědu.
Kromě krátkého desetisekundového formátování však pro práci není nutné explicitně naformátovat celé CD. Sice to později mírně zrychlí první zápis, ale jinak k této činnosti dochází automaticky v průběhu zápisu na CD. Do budoucna se předpokládá prodej předformátovaných médií.
CD je nyní připraveno pro použití s libovolným souborovým systémem. Můžeme pokračovat třeba tím, že si pomocí mke2fs vyrobíme ext2 CD. My se však zaměříme na UDF.
Přijdou tedy na řadu udftools z projektu Linux UDF. Pro Mt. Rainier je doporučený příkaz:
mkudffs --media-type=cdrw -b 2048 /dev/cdrom
A nyní můžeme bez problémů disk připojit:
mount -tudf -oiocharset=iso8859-2,noatime /dev/cdrom /vol/cdrom
Zde jsem také narazil na jediný zatím nevyřešený problém – přes veškerou snahu se mi nepodařilo korektně zapsat soubory s českými jmény (a to ani v ISO-8859–2 režimu, ani v UTF-8). Jedná se zřejmě o chybu v ovladači UDF.
Volba noatime není nijak nezbytná – zabraňuje pouze aktualizaci informace o posledním přístupu při každém čtení, a tím výrazně prodlouží životnost média.
A nyní můžeme začít pracovat. Zbývá upozornit na skutečnost, že po založení Mt. Rainier CD trvá poněkud déle, než se načte. Stejně tak při vyjmutí provádí mechanika zhruba 20 sekund zápis dat na CD. Nepokoušejte se tento proces přerušit nebo počítač vypnout, aniž by se tento zápis provedl. Výsledkem by mohlo být nečitelné CD!
Ještě drobná poznámka: UDF by teoreticky mělo fungovat pro zápis i s CD-R disky (pomocí volby –media-type=worm), ale nechtělo se mi obětovat několik disků na zkoušku této možnosti.
Budu rád, podělí-li se někdo o svou zkušenost s přenosem dat pomocí CD-MRW mezi různými platformami.