Diit.cz - Novinky a informace o hardware, software a internetu

Proces napalovania

Linux logo
V dnešním díle se konečně začne vypalovat. Ovšem ne tak, jak jste zvyklí z Windows. Půjde o výuku vypalování z příkazové řádky. V dalších dílech si už povíme něco i o grafických nadstavbách, často na programy zde uvedené. Kdo chce tedy vědět, jak a co to opravdu dělá, neměl by tuto část vynechat. Opět nesmím zapomenout poděkovat serveru ABC linuxu, který nám tento text dovolil převzít.

Kapitoly článků

Ako som už spomenul, na napalovanie sa používa program cdrecord, alebo jeho nová alternatíva dvdrecord. Syntax zmieneného programu
je pomerne jednoduchá. Iste si pamätáte na ukážku výpisu, ktorá nám zobrazovala nájdené SCSI zariadenia. V tom mojom prípade to bolo číslo 0,0,0. Tieto jednotivé čísla zastupujú číslo SCSI zbernice, ID zariadenia a potom je tzv. číslo LUN (SCSIBUS, TARGET, LUN). Každe SCSI zariadenie dostáva v systéme túto trojicu identifikačných čísel. Je ich možné navoliť aj ručne, ale väčšinou sú pridelované systémom, ktorý sa stará, aby jednotlivé SCSI zariadenia neboli v kolízii. Každé zariadenie, ma na svojej SCSI zbernici svoje jedinečné ID číslo. Číslo LUN (Logical Unit Number) špecifikuje, niektoré ďalšie rozhrania daného zariadenia. Toto posledné číslo je vo väčšine prípadov "0". Takže čo musíme o svojej napalovačke vedieť je to, pod akým""trojčíslom" je detekovaná. Nám už známy príkaz cdrecord -scanbus, vypíše zoznam zariadení.

cdrecord -scanbus
Cdrecord 1.10 (i686-pc-linux-gnu) Copyright (C) 1995-2001 Jörg Schilling

Linux sg driver version: 3.1.24

Using libscg version 'schily-0.5'

scsibus0:

    0,0,0   0) 'ZIP' 'IOMEGA ZIP-100' 'R' 'Removable ZIP disk'

    0,1,0   1) 'ATAPI' 'CD-R/RW 24X10' 'P.MJ' Removable CD-ROM

    0,2,0   2) *

    0,3,0   3) *

V tomto prípade bude naše štastné trojčíslo "0,1,0" tomuto totiž systém pridelil napalovačku. Na čísle "0,0,0" máme ZIP mechaniku, ktoru, ale pre
napalovanie nebudeme využívať... V praxy pri napalovaní sa poznatok tohto čísla využíva, aby sme programu cdrecord ukázali na ktoré zariadenie môže posielať SCSI príkazy (sám cdrecord to nevie rozoznať). Príklad použitia tohto programu môže potom vyzerať aj takto:

cdrecord -v speed=4 dev=0,1,0 -data moj_subor.iso

Poznámka: Program musíme spúštať ako užívateľ root. Je to kvôli nadstavením právam na /dev/sg* zariadeniach. Pokiaľ dostatočne upravite práva, tak program je možné spúšťať aj ako non-root užívateľ. Pozor však na to, aby vám užívatelia nepoškodili (nezmazali, nenaformátovali) prípadne SCSI disky.

Myslím, že rozoberať prepínače nie je nejak extra treba. Pre úplnosť, nám -v zapne tzv. ukecaný režím (ukazuje aj priebeh napalovania), speed=x nám definuje rýchlosť napalovania (pokiaľ zadáte číslo väčšie, než je ním schopná vaša napalovačka páliť, tak cdrecord použije aj tak len to maximálne, ktoré vaša napalovačka zvláda), dev=SCSIBUS,ID,LUN definuje zbernicu, na ktorej sa nachádza napalovacie zariadenie no a parameter -data našepkáva programu, že pôjde o datové CD.

Niekomu sa môže zdať, že uvedený spôsob je moc "dlhý". V taktomto prípade nám bude stačieť konfiguračný súbor /etc/cdrecord.conf, ktorý môžme
upraviť, pre naše potreby.

# This file is /etc/cdrecord.conf

# It contains defaults that are used if no command line option

# or environment is present.

#

# The default device, if not specified elswhere

#

CDR_DEVICE=moj_cmeliak


#

# The default speed, if not specified elswhere

#

CDR_SPEED=4


#

# The default FIFO size if, not specified elswhere

#

CDR_FIFOSIZE=4m

#

# The following definitions allow abstract device names.

# They are used if the device name does not contain the

# the characters ',', ':', '/' and '@'
#

# drive name device speed fifosize driveropts

#

#teac=      1,3,0 -1 -1 ""

#panasonic= 1,4,0 -1 -1 ""

#plextor=   1,4,0 12 -1 ""

#sanyo=     1,4,0 12 -1 burnproof

moj_cmeliak= 0,1,0 -1 -1 burnproof

Mýslím, že obsah, nie je treba nijak extra rozoberať, snaď až na niekoľko detailov. Všimnite si, že v parametri CDR_DEVICE som uviedol svoje meno napalovacieho zariadenia, ktoré som potom konkretnejšie (aj jeho parametre) nadefinoval na konci súboru. V tejto "definícii" som určil, na akom "štastnom" trojčíselku mám svoju napalovačku, akou rýchlosťou chcem napalovať defaultne (pokiaľ nezadám nejakú inú hodnotu v príkazovom riadku), aka ma byť veľkosť FIFO (si vysvetlime za chvíľku) a niektoré ďalšie parametre CD-ROMu, ako je napríklad "burnproof".

Pred napalovaním si musíme uvedomiť, na čo náš počítač má a na čo nie. Pokiaľ sa rozhodneme využiť napalovanie bez funkcie BURNPROOF, alebo ju naša napalovačka jednoducho neposkytuje, tak musíme za každú cenu zabezpečiť plynulý tok dát (nie prerušovaný). Data na napálenie sú počas procesu pálenia posielané do buffera (FIFO), z ktorého by mali byť plynule dodávané do napalovačky. To znaméná, že data disku by mali priebežne dopĺňať data v bufferi tak, aby ich hodnota ostávala na čo najvyššej hladine. V takýchto sitáciach by sme sa mali vyvarovať rôznym vedľajším diskovým aktivitám. V opačnom prípade sa môže stať, že disk nebude stačieť dodávať data do bufferu, jeho zaplnenie začne klesať a ako nahle sa preruší plynulá dodávka toku dat do napalovačky, je CDčko poškodené a môžme si ho akurát tak zavesiť do auta na zrkadlo. Napalovačky, ktoré majú funkciu BURNPROOF, dokážu prerušiť napalovanie a v zápäti zasa nadviazať na ukončenú stopu, čiže v tomto prípade nedochádza k znehodnoteniu CD. Pokiaľ si nie istý, či vaša napalovačka podporuje BURNPROOF, môžte sa o tom presvedčit pomocou príkazu:

cdrecord -dev=0,1,0 -driveropts=help -checkdrive


Cdrecord 1.10 (i686-pc-linux-gnu) Copyright (C) 1995-2001 Jörg Schilling

scsidev: '0,1,0'

scsibus: 0 target: 0 lun: 0

Linux sg driver version: 3.1.24

Using libscg version 'schily-0.5'

Device type    : Removable CD-ROM

Version        : 0

Response Format: 1

Vendor_info    : 'ATAPI'

Identifikation : 'CD-R/RW 24X10'

Revision       : 'P.MJ'

Device seems to be: Generic mmc CD-RW.

Driver options:

burnproof Prepare writer to use Sanyo BURN-Proof technology

noburnproof Disable using Sanyo BURN-Proof technology

Ako vidíte, tak program nám dáva na výber dva možné parametre, a to "burnproof" a "noburnproof". Z uvedeného vyplývá, že naša napalovačka je schopná
používať aj túto funkciu. Keď sme si nakonfigurovali aj súbor cdrecordu, tak syntax uvedeného príkazu je už "kratšia".

cdrecord -v -data moj_subor.iso

Ako som už povedal, prvú prioritu majú parametre v príkazovom riadku, takže ak dáte do vyššie uvedného príkazu napríklad parameter &quo;speed=12", začne sa nadefinovaná rýchlosť v cdrecord.conf ignorovať a použije sa uvedená rýchlosť v príkazovom riadku.

dvdrecord je nový prírastok medzi programami v Linuxe. Autor tohto programu vychádza z programu cdrecord, takže je tu takmer 100% kompatibilita. Autor programu dvdrecord tvrdí, že tento program je výbornou náhradou cdrecordu, najmä pri napalovaní DVD CDčiek a oproti cdrecordu vraj sú už opravené niektoré chyby (osobne sa mi nepodarilo zistit ktoré). Každopádne, ak chcete využívať na napalovanie ten, nič vám nebráni. Syntax používania tohto programu je totožná so syntaxou používania cdrecord-u. Takisto aj konfiguračný súbor, ktorý je pomenovaný dvdcdrecord.conf, je totožný.

Kapitoly článků

Diskuse ke článku Vypalování pod Linuxem II - díl 3.

Čtvrtek, 9 Prosinec 2004 - 02:50 | Anonym | napalovanie DVD video?
Středa, 8 Prosinec 2004 - 21:59 | Anonym | Snad se nepletu ale mam dojem ze v Jolietu muzou...
Středa, 8 Prosinec 2004 - 18:00 | prof0021 | Vyuziji tohoto clanku a zeptam se na jednu vec....

Zobrazit diskusi