Jak pálit pod Linuxem
Kapitoly článků
Tento seriál článků jsem původně napsal pro web-zine linux double Weekly News, ale protože si myslím, že by se tyto informace mohly hodit i lidem ne přímo se zajímajících o Linux, nabídl jsem články CD-R serveru.
Byl jsem požádán Thalezem, abych "spatlal" článek o pálení pod Linuxem. Jelikož jsem šťastným majitelem dvourychlostní ATAPI vypalovačky CD-Writer 7570i, rozhodl jsem se zkusit to.
Předchozí pokusy nebyly moc úspěšné, protože většinou mi cdrecord nebo jádro vypsalo, že pálidlo není podporované. Ovšem, po troše laborování se to povedlo.
Upozorňuji, že se vyžaduje určitá elementární znalost kompilace jádra, práce s lilo a jeho konfiguračním souborem. Předností je také orientace v příkazové řádce. Každopádně předpokládám, že opravdový začátečník by se do tohoto nepouštěl.
Proč pod Linuxem?
Proč ne? Ne, zas až tak jednoduché to není. Je pravdou že pro většinu vypalovaček jsou krásné a uživatelsky přítulné programy pro Windows. Ale pokud chcete vypálit nějaké nestandardní CD, jako je třeba CD-Extra, musíte vysolit slušnej balík peněz např. za Easy-CD Creator DeLuxe (já vím, kdo kdy platil za software, ale slušností to je), kdežto v Linuxu máte vše zadarmo. A že to je v
příkazové řádce? Existují různé Xkové nastavby (např. XCDRoaster), které vše schovávají pod GUi, ale stejně je potřeba mít programy pro příkazovou řádku nainstalované. Další problém je se stabilitou windows, nevíte nikdy co vám běží a co se s tím stane ...
Pozn. CD-R serveru: No, není to zas až tak úplně pravda. Třeba s demoverzí CDRWINu to jde bez problémů, ale pravda, pouze 1x speed.
.
Co je potřeba
Základní věcí je překvapivě vypalovačka. Doporučuji SCSI, protože s nimi nejsou moc velké problémy, ale v tomto článku se budu zabývat ATAPI vypalovačkou. Doporučuje se nové jádro, z 2.0 je to nejlépe poslední stabilní (myslím že to je 2.0.37) a z 2.2 také. Dále nějaký pálicí balík, nejlépe poslední verze programu cdrecord (já měl verzi 1.8a29) a pak další podpůrné programy jako mkisofs (pro tvorbu ISO9660 images), cdparanoia (grabování audio-tracků) a cdrdao (vypalování audio-tracků bez mezer mezi písničkami).
Disk. Doporučuji co nejrychlejší a největší. Počítejte s tím, že když budete dělat ISO-image toho, co se vypaluje, budete potřebovat ještě jednou tolik místa (máte na disku adresářovou strukturu, připravenou na vypalování, tedy asi 650 MB, vytvoříte ISO-image, který má také 650 MB - možná víc - takže potřebujete něco kolem 1,4 GB - pokud ovšem ISO-image, produkovaný programem
mkisofs nepošlete přes standardní výstup do standadrního vstupu cdrecordu, což jde, ale chce to rychlý počítač.
Pamět a rychlost počítače. V poslední době myslím není problém s rychlostí počítače a velikostí paměti, 32 MB a 200 MHz bohatě na vypalování stačí (kamarád vypaluje na 486ce s 8 MB paměti, ale pod Windows) a navíc, pravděpodobně kdo má na vypalovačku, má i na rychlý počítač.
Vypalovačka
Doporučuje se jakákoliv ATAPI nebo SCSI vypalovačka, která vyhovuje standardu MMC (co to asi může být, nevím, ale prý to je většina modelů vyrobených v roce 1999). Pokud svou vypalovačku nenajdete na seznamu podporovaných modelů, je stále velká možnost, že se využije standardní MMC ovladač a vše bude fungovat ke spokojenosti.
Pozn. CD-R serveru: MMC je zkratka pro Multi-Media Command set. V současné době je již ve verzi 2, tedy MMC-2.
Aktualizovaný seznam podporovaných, částečně podporovaných a nepodporovaných vypalovaček je na adrese
www.guug.de:8080/cgi-bin/winni/lsc.pl
Jádro
Protože cdrecord komunikuje pouze pomocí SCSI příkazů, je nutné donutit ATAPI vypalovačku, aby si s nimi rozuměla. To se provede přes emulaci ide-scsi, kterou moderní jádra mají zabudovanou. Ve svém vyprávění se zabývám jádrem 2.2.12, v jiných jádrech mohou být položky v jiných menu.
Je potřeba v podmenu Block devices vypnout položku Include IDE/ATAPI CDROM Support a zapnout položku SCSI emulation support. Dále je potřeba v podmenu SCSI support zapnout položku SCSI CD-ROM support a SCSI generic support. Ostatní položky mohou zůstat vypnuté, stejně jako v submenu SCSI low-level drivers. V dokumentaci k
cdrecord se doporučuje je dát do jádra na pevno, ne jen jako moduly, takže jsem se tím řídil.
Po kompilaci, instalaci vytvořeného jádra a přenastavení lilo loaderu je možné vyzkoušet funkci nového jádra. Je ale potřeba se podívat, zda ve vašem adresáři /dev/ jsou zařízení sg? (kde ? nahrazuje čísla 0-7).
Spuštění nového jádra
Pokud vše probíhá tak jak má, mělo by se při výpisu hlášení při startu systému vypsat něco podobného:
scsi0 : SCSI host adapter emulation for IDE ATAPI devices scsi : 1 host. Vendor: HP Model: CD-Writer+ 7500 Rev: 1.0a Type: CD-ROM ANSI SCSI revision: 02 Detected scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0 Vendor: TEAC Model: CD-532E-B Rev: 1.0A Type: CD-ROM ANSI SCSI revision: 02 Detected scsi CD-ROM sr1 at scsi0, channel 0, id 1, lun 0 scsi : detected 2 SCSI cdroms total. sr0: scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray Uniform CDROM driver Revision: 2.56 sr1: scsi3-mmc drive: 32x/32x cd/rw xa/form2 cdda tray
(pozn. pokud vám to ujelo, tak to je v souboru /var/log/messages někde na konci :)))
Dalším testem je spuštění programu cdrecord s parametrem -scanbus, který projede připojené SCSI zařízení na všech SCSI sběrnicích, výpis by měl vypadat nějak takto:
Cdrecord release 1.8a29 Copyright (C) 1995-1999 Jörg Schilling Using libscg version 'schily-0.1' scsibus0: 0,0,0 0) 'HP ' 'CD-Writer+ 7500 ' '1.0a' Removable CD-ROM 0,1,0 1) 'TEAC ' 'CD-532E-B ' '1.0A' Removable CD-ROM 0,2,0 2) * 0,3,0 3) * 0,4,0 4) * 0,5,0 5) * 0,6,0 6) * 0,7,0 7) *
Zde je vidět, že mám dvě SCSI zařízení na první SCSI sběrnici (ve skutečnosti to je ATAPI vypalovačka a ATAPI CD-ROMka).
Musíte si také uvědomit, že již CD-ROMky nemáte jako IDE-zařízení, ale SCSI-zařízení, proto je potřeba např. symbolický link /dev/cdrom přenastavit na zařízení, kde CD-ROMka je (tj. pokud je master na druhém IDE řadiči, tedy zařízení /dev/hdc, nyní bude první SCSI zařízení, buď /dev/sr0 nebo /dev/scd0). Jinak cdrecord používá zařízení /dev/sg?.
Druhá možnost nastavení
Druhou možností jak nastavit vše potřebné tak, aby to fungovalo, je nechat zapnutou volbu Include IDE/ATAPI CDROM Support, zapnout vše ohledně SCSI, jak bylo napsáno v minulém odstavci. Pak do příslušné položky v lilo.conf připsat příkaz append="hdc=ide-scsi". Potom všechny CD-ROMky pojedou přes ATAPI a CD-ROMka (vypalovačka), připojená na
řadiči hdc bude přes emulaci SCSI. To je výhodné, pokud máte více CD-ROMů, jste zvyklí na ATAPI a chcete jen vypalovačku přes SCSI.
Inkriminovaná pasáž lilo.conf:
image=/boot/vmlinuz-scsi label=scsi root=/dev/hdb1 read-only append="hdc=ide-scsi"
Další možností je mít vše přes ATAPI a pouze, pokud byste chtěli vypalovat, zadat jádru přes lilo příkaz hdc=ide-scsi (na příkazové řádce při startu systému).
Nevýhodou této možnosti je celkem značné zvětšení jádra (u mě to bylo skoro 200kB).
Závěr
To by bylo pro dnešek vše, systém máme připraven k vypalování. Do příště si sežeňte potřebné programy, překompilujte a přeinstalujte jádro a pak hurá do pálení ...
Doporučené čtení:
CD-Writing How-To (dostupné na adrese www.guug.de/~winni/linux/,
jinak také v HOWTO balíku vaší oblíbené distribuce.
Programy (kde se dají stáhnout nejnovější verze, stabilní verze jsou určitě u vaší oblíbené distribuce - v RH 6.1 jsou :))):