Hlavní navigace

Smažíme v Linuxu (3)

CIJOML 19. 5. 2003

Po delší době vás znovu vítám u pokračovaní seriálu o vypalování pod Linuxem. Co se dnes dozvíte? Něco o multisession vypalování, něco o vypalování na RW média, řeč bude i o Packet writing, v neposlední řadě i o Mount Rainier a také o CD Plus technologii.

Vypalování multisession CD

První otázkou je, zdali se dnes vůbec vyplatí multisession vyrábět. Podle mne při směšné ceně médií, kdy neznačkové se dá sehnat za 5 Kč/kus a značkové za 12 Kč/kus, již ne. I tak si o této technologii povíme, třeba už jen z historických důvodů a také proto, že nám pomůže pochopit víc do hloubky, jak vypalování funguje.

Multisession, jak název napovídá, bude vypalování více sekcí na jedno CD. To má tři zádrhele:

  • Vypálenou hudbu vám tímto způsobem snad žádný stolní přehrávač nepřečte celou a uvidí vždy jen první session.
  • Na CD se tímto způsobem vejde méně dat, než kdyby se vypalovalo najednou. Je to způsobeno vícenásobnou přítomností tzv. lead-in a lead-out míst. Tato místa jsou oblasti na disku, do kterých jsou při dokončení zápisu každé session uloženy informace o počtu stop, jejich začátku a o celkové velikosti datového úseku (TOC – Table Of Contents). U první session tyto informace zabírají 2,5 minuty, nebo, chcete-li jinak, 22,8 MB, nebo, chcete-li ještě jinak, 11250 sektorů. Lead-in zabírá 1 minutu a Lead-out 1,5 minuty. Druhá a každá další už vyžaduje na Lead-out jen 0,5 minuty. V neposlední řadě je ještě třeba připočíst nejméně 150 sektorů na mezeru oddělující stopy (je i na nemultisession cedéčkách), tzv. pre-gap, což činí přibližně tři vteřiny.
  • Máte smůlu a dopředu si soubor představující další session prostě nepřipravíte. Jsou k tomu potřeba informace získané z CD, na které budete tuto sekci připalovat.

Aby cdrecord poznal, že budeme pálit multisession, musíme mu to říct. Ten kluk fakt není tak chytrý sám. Reaguje ovšem na přepínač -multi, takže mu ho rovnou předhodíme. Cdrecord poté sám nastaví druh stopy na potřebnou verzi CD-ROM XA2.

Vypálíme tedy první oddíl následujícím příkazem

cdrecord -v dev=0,0,0 speed=24 -eject -multi prvni.iso

Abychom poté mohli připálit další oddíl, musíme si nejprve zjistit, jak vypadá CD, na které chceme tuto session přidat. To provedeme následujícím příkazem, jehož výstupem budou dvě čísla. První číslo nám řekne, kde se nachází první sektor poslední relace na CD (v našem případě 0, jelikož původní session je pálena od počátku CD). Druhé odpovídá prvnímu volnému sektoru, na který lze zapisovat. Toto druhé číslo se rovná počtu zapsaných sektorů z prvního vypalování (viz výpis cdrecordu) plus 11400 (11250 lead-in a lead-out + 150 pre-gap).

cdrecord -msinfo dev=0,0,0

Následně musíme vyrobit image další session. K tomu nám právě tato čísla poslouží. Musíme totiž mkisofs říci, kde má začít další sekci. Je také dobré vědět, že u každé další sekce musíme použít přepínač -r, jelikož pouhé -J by nefungovalo. Co přepínače znamenají, viz předchozí díly seriálu. Parametry pro nás zajímavé zde budou -M a -C. M udává cestu k předchozí session a C ony dva parametry cdrecordu.

mkisofs -r -J -l -C hodnota,hodnota -M device -o druhe.iso adresar

Tento druhý image soubor nemůžete zkontrolovat namountováním jako loop – ta nevýhoda uvedená hned na začátku. Tuto sekci vypálíme poté stejně jako první.

cdrecord -v dev=0,0,0 speed=24 -eject -multi druhe.iso

Vypalování na RW média

Samozřejmě, že tuto vlastnost musí vypalovačka podporovat. V dnešní době již naprostá samozřejmost. Jiná mechanika by se snad ani neprodala :-) Vypalování na tato média je naprosto stejné jako na klasická CD-R, jen máme navíc příkaz blank, který určuje, co smazat. Nejčastěji blank=all nebo blank=session. Blank má samozřejmě více voleb, které si zobrazíte příkazem

cdrecord blank=help

Packet writing

Tato technologie umožňuje s CD-RW médiem zacházet jako s větší ZIP mechanikou. S CD-R tedy také, ale vzhledem k nemožnosti mazání je použitelnost dost snížena :-) Vaše mechanika musí tuto technologii podporovat.

V Linuxu zatím oficiální podpora chybí a naleznete ji buď v -ac větvi jádra, nebo jako patch od výrobce Jense Axboe.

Po aplikování patche začneme konfigurací jádra:

Block devices
Packet writing on CD/DVD media Y/M
File systems
UDF file system support (read only) Y/M
UDF write support (DANGEROUS) Y

Přeložíme jádro, rebootujeme. Nyní musíme nainstalovat i balík udf-tools.

Nyní vložíme do jádra modul udf a pktcdvd a nebo ještě lépe si jej přidáme do /etc/modules.conf  jako

alias block-major-97 pktcdvd

a vytvoříme nový device v /dev

mknod /dev/pktcdvd0 b 97 0

a propojíme ho s naší vypalovačkou:

pktsetup /dev/pktcdvd0 device

Bohužel se tyto kroky musí při každém startu systému opakovat. Použitím skriptu se práce zjednoduší (jeden příklad za všechny).

Zkusme s médiem pracovat:

cdrwtool -d device -q

Disk vymaže, vytvoří na něm UDF filesystem. Zařízení nemusí byt ovšem emulováno SCSI, ale třeba přímo /dev/hdc

Připojíme disk příkazem

mount /dev/pktcdvd0 /cdrw -t udf -o rw,noatime

a užijte si pomalého disku na CD-RW :-)

Mount Rainier

je rozšířením předchozího Packet writing a nebudu se zde o něm rozepisovat, jelikož článek Mt. Rainier pod Linuxem již na ROOTovi publikoval kolega Stanislav Brabec.

CD-Plus/CD-Extra

Tyto dva názvy znamenají stejnou technologii. Holt každá firma musí nějak prodávat a marketingová strategie dnes hýbe trhem :-) Známe třeba superskalární architektury, supersuperskalární architektury (co tam přidají příště? Že by 3×superskalár­ní???), no a potom známe i plno Extra věcí, mezi nimi i CD-Extra :-)

Pod tímto obchodním názvem je znám multisession disk s první session typu audio a druhou data. Původně se používala výhradně pro lisovaná CD pod názvem E-CD (Enhanced CD), nyní si je můžeme vyrobit doma. Mají tu výhodu, že je přehrajete i na stolních přehrávačích, jelikož datovou stopu už stolní přehrávač nevidí a nedojde tak při jejím čtení k přehrávání skřípotu. Uživatelé Linuxu jsou ovšem zvyklí. Kolikrát jste udělali

cat /usr/src/linux-2.4.20.tar.bz2 > /dev/dsp

když jste zkoušeli, jestli vám chodí zvukovka? Přiznejte se :)

Zkusme takové neskřípací CD vyrobit. Nejprve vytvoříme audio stopu s parametrem multi a následně datovou opět s parametrem multi. Audio stopu můžeme vypalovat jak metodou DAT, tak i TAO.

cdrecord .v dev=0,0,0 -eject -dao -multi -audio *.wav
cdrecord -msinfo dev=0,0,0
mkisofs -r -J -l -C 0,to_druhe_cislo -M device -o data.iso adresar
cdrecord .v dev=0,0,0 -eject -multi data.iso

A nakonec nějaké drobnosti z dotazů čtenářů:

  • CD můžete pojmenovat pomocí parametru -V, který předáte mkisofs, dále můžete předat i -P (publisher ID), -p (preparer ID) a -A (application ID)
  • zapisovat obrázky na plochu CD pomocí technologie DiskT@2 Linux zvládá, ale já sám jsem to nikdy nevyužil, protože moje mechanika to neumí. Tak jen telegraficky:
    Cdrecord podporuje DiskT@2 od verze cdrtools-1.11a32 (umí snad každá distribuce, když ne, přeložte si jej). Používá se s parametrem tattoofile=picture, který je nutno použít spolu s přepínačem -checkdrive. Soubor s obrázkem musí samozřejmě splňovat podmínky, více viz  man cdrecord.

A to je asi vše :-) Jádyjádydadááá. Cococococojeee tosem tosem přeci měl říci já. Tak to řekni. A to je vše, přátelé :-)

Našli jste v článku chybu?

23. 5. 2003 13:47

VM (neregistrovaný)

Asi spatne.
Mam starsi vypalovacku od Mitsumi, ktera by to mela taky zvladat. Kdyz do ni strcim 99minutove CDR, hlasi delku 19 minut, pri zapisu do 20. minuty hodi SCSI chybu ...

Kdy uz bude firmware open-source ?




23. 5. 2003 13:43

VM (neregistrovaný)

Jestli se adresare v ISO8990 odkazuji na konkretni bloky, pak by musel cdrecord predelavat tyhle odkazy, coz asi neni nejlepsi napad - bylo by potreba vstupni data parsovat.

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

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

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Jak vybrat ořechy do cukroví a kde mají levné

Jak vybrat ořechy do cukroví a kde mají levné

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

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

Rakovina oka. Jak ji poznáte?

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

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

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

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

Jsou čajové sáčky toxické?

Lupa.cz: Seznam mění vedení. Pavel Zima v čele končí

Seznam mění vedení. Pavel Zima v čele končí

120na80.cz: Jak oddálit Alzheimera?

Jak oddálit Alzheimera?

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

DigiZone.cz: Sony KD-55XD8005 s Android 6.0

Sony KD-55XD8005 s Android 6.0

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

EET: Totálně nezvládli metodologii projektu

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

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

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

DigiZone.cz: ČRa DVB-T2 ověřeno: Hisense a Sencor

ČRa DVB-T2 ověřeno: Hisense a Sencor

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

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

Jak vymáhat výživné zadarmo?

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte