Szczególną popularnością cieszą się najtańsze nagrywarki z interfejsem ATAPI. Wraz z zakupionym sprzętem otrzymasz zapewne CD z oprogramowaniem do nagrywania płyt - niestety, jest ono zazwyczaj przeznaczone jedynie do MS Windows.
Jak stosować to pożyteczne urządzenie w Linuksie? Płyty można tu nagrywać na dwa sposoby - tradycyjnie, używając narzędzi przeznaczonych do linii poleceń lub za pomocą którejś z rozbudowanych aplikacji graficznych. My wybraliśmy X-CD-Roast, uznając go za stabilny program o dużych możliwości, ale do wyboru są też inne.
Jeszcze niedawno nagrywanie CD w Linuksie było zadaniem niebanalnym nawet dla bardziej zaawansowanych, na szczęście teraz powstaje coraz więcej oprogramowania przyjaznego dla użytkowników. Linux nie ma problemu z obsługą większości nagrywarek CD-ROM dostępnych na rynku - zarówno tych z interfejsem SCSI, ATAPI, a nawet podłączanych przez port równoległy (drukarki).
Włącz w BIOS-ie obsługę kontrolera SCSI, a następnie prawidłowo zakończ (terminacja) łańcuch urządzeń SCSI. Szczegóły znajdziesz w instrukcji obsługi nagrywarki. Linux musi mieć prawidłowo zainstalowany sterownik kontrolera SCSI - zarówno RedHat/Mandrake, jak i Corel Linux w czasie instalacji potrafią rozpoznać (lub pozwalają na samodzielne określenie) najpopularniejsze typy kontrolerów SCSI. Wszystkie urządzenia SCSI są widziane przez system jako pliki specjalne, np. /dev/scd, /dev/sga. Jeśli nie zostały utworzone podczas instalacji systemu, wystarczy po przejściu do katalogu /dev wykonać polecenie ./MAKEDEV sg. Instalacja urządzenia SCSI jest również możliwa przez rekompilację jądra systemu - tak się zazwyczaj dzieje w przypadku nowszych typów kontrolerów obsługiwanych przez najnowsze wersje jądra.
Instalacja nagrywarki ATAPI wymaga rekompilacji jądra systemu, dlatego musisz zainstalować kod źródłowy jądra. Wszystkich czynności dokonujesz jako użytkownik root na konsoli lub w xterminalu. Przejdź poleceniem cd do katalogu /usr/src/linux i wykonaj polecenie make menuconfig (na konsoli) lub make xmenu (w X-Window). Zobaczysz na ekranie menu konfiguracji parametrów jądra. W sekcji Block devices i zaznacz opcję SCSI emulation support (Y) oraz wyłącz opcję Include IDE/ATAPI CDROM support (N). Przejdź teraz do sekcji SCSI Devices i zaznacz opcję SCSI generic support (Y). Wyjdź z programu, zapisując nową konfigurację. Wpisz teraz w linii poleceń make dep i wyłącz opcję "Probe all LUNs on each SCSI device ("N")", a następnie wpisz make clean. Teraz jesteś gotowy do uruchomienia kompilacji, wpisz polecenie make bzImage - po kil-ku chwilach program zakończy pracę - wpisz make modules, a następnie make modules_install. Przejdź do katalogu, w którym jest nowe jądro (poleceniem /usr/src/linux/arch/i386/boot/) i zmień nazwę pliku bzImage na np. nagrywarka (poleceniem mv bzImage nagrywarka), a następnie skopiuj plik nagrywarka do katalogu /boot (poleceniem cp nagrywarka/boot). Ostatnią czynnością jest skopiowanie pliku System.map z katalogu /usr/src/linux do katalogu /boot i zastąpienie nią poprzedniego pliku System.map (poleceniem cp /usr/src/linux/System .map /boot). Najtrudniejsze już za Tobą, teraz wystarczy do konfiguracji LILO (boot-loader) dodać informację o nowym jądrze - oto przykładowy plik /etc/lilo.conf
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=20
default=linux
image=/boot/vmlinuz-2.2.13-7mdk
label=linux
read-only
root=/dev/hda3
Na końcu pliku dodaj, używając dowolnego edytora tekstowego, następujące polecenia:
image=/boot/nagrywarka
label=nagrywarka
read-only
root=/dev/hda3
W pierwszym wierszu dodanej części definiujesz nowe jądro, a w drugim nazwę, po której podaniu w momencie startu LILO zostanie uruchomione jądro "nagrywarka". Oczywiście nazwy partycji w wierszach root= jak i nazwa pierwotnego jądra systemu (tutaj vmlinuz-2.2.13-7mdk) mogą być u Ciebie inne. Zapisz zmiany i wpisz polecenie lilo, aby zaktualizować konfigurację LILO. Od tej pory, jeśli chcesz nagrywać płyty CD, wystarczy uruchomić ponownie komputer, w linii poleceń za znakiem zachęty "LILO:" wpisać nagrywarka i nacisnąć [Enter]. Jeśli niczego nie wpiszesz, to system zostanie uruchomiony ze zwykłym jądrem.
Bliższe szczegóły na temat konfiguracji nagrywarek ATAPI możesz znaleźć w dokumencie CD-Writing-HOWTO, który znajduje się zazwyczaj w katalogu /usr/doc/HOWTO.
CD-ROM można w Linuksie nagrywać na dwa sposoby - "klasyczny" (dwuetapowy) lub łatwiejszy - przy użyciu wyspecjalizowanego programu. Sposób "klasyczny" wymaga posługiwania się narzędziami linii poleceń, co może być dla początkujących trudne, ale warto go poznać, bo niekiedy jest najszybszy.
Pierwszy etap w metodzie "klasycznej" polega na przygotowaniu obrazu dysku CD w postaci jednego dużego pliku, zawierającego to, co ma być nagrane na płytę. Wymaga to odpowiedniej ilości wolnego miejsca na dysku (aż do 650 MB - tyle, ile chcesz nagrać). Do utworzenia binarnego obrazu CD służy program mkisofs, tworzący system plików ISO9660. Mkisofs potrafi tworzyć różne rozszerzenia: RockRidge (akceptuje długie nazwy plików i głębsze struktury katalogów), Joliet - stosuje długie nazwy plików zgodne z MS Windows 9x/NT, El Torito - do nagrywania tzw. bootowalnych CD, z których można uruchomić komputer, a nawet HFS - format używany w MacOS. Generując plik obrazu ("image"), trzeba pamiętać, że z nominalnej pojemności płyty - 650 MB - warto zostawić kilka MB na informacje o strukturze katalogów i plików - pozwoli to uniknąć nieprzyjemnych niespodzianek pod koniec nagrywania. Najprostszym sposobem przygotowania pliku obrazu jest wykonanie polecenia:
mkisofs -r -o /tmp/image.iso /mnt/ dane
gdzie image.iso to nazwa generowanego pliku obrazu (dzięki opcji -o zostanie zapisany w katalogu /tmp), natomiast /mnt/dane to ścieżka do katalogu, w którym znajdują się pliki do nagrania.
Prawdopodobnie będziesz chciał odczytywać nagraną płytę nie tylko w Linuksie czy MS Windows 9x/NT, ale również w DOS-ie - umożliwia to opcja -r, która dodaje tzw. rozszerzenia Rock Ridge, dzięki czemu starsze systemy operacyjne będą "widzieć" nazwy plików w konwencji 8.3.
Mkisofs ma wiele innych opcji, dobrze opisanych w dokumentacji programu. Można ustawiać różne "kosmetyczne" parametry, takie jak -P (nazwa wydawcy) czy -V (nazwa woluminu - etykieta, pod którą będzie widziany CD). Po zakończeniu pracy mkisofs warto sprawdzić, czy zawartość pliku obrazu jest prawidłowa. Służy do tego opcja loop programu mount - system będzie mógł korzystać z pliku obrazu jak zwykłego dysku (tylko do odczytu), wykonaj więc następujące polecenie:
mount /tmp/image.iso /mnt/cdrom -o loop
Teraz zawartość pliku image.iso możesz przeglądać w katalogu /mnt/cdrom. Jeśli wszystko jest w porządku, "odinstaluj" ten wirtualny dysk poleceniem:
umount /mnt/cdrom
Teraz przystąp do drugiego etapu - fizycznego nagrywania, najlepiej programem cdrecord. Jednak by uruchomić nagrywanie, trzeba znać numer urządzenia, pod którym system widzi nagrywarkę CD-ROM, wykonaj więc polecenie: cdrecord -scanbus. Na konsoli zobaczysz kilka komunikatów przy nazwie swojej nagrywarki; najważniejsze są trzy cyfry oddzielone przecinkami - to właśnie poszukiwany numer urządzenia (np. 0,1,0). Teraz wystarczy włożyć czystą płytkę do napędu i wykonać polecenie:
cdrecord -v speed=2 dev=0,1,0 /tmp/ image.iso
Parametr "speed" oznacza prędkość nagrywania i zależy od typu sprzętu. Oczywiście z cdrecord korzysta się w taki sam sposob w przypadku nagrywarek SCSI, jak i ATAPI; bliższy opis instalacji nagrywarek ATAPI znajdziesz w ramce). Warto zaznaczyć, że cdrecord obsługuje nagrywanie wielosesyjne (gdy można wiele razy ponawiać sesje nagraniowe - dopisywać nowe pliki do dotychczasowej zawartości). Większość współczesnych nagrywarek ma taką funkcję.
X-CD-Roast
(http://www.xcdroast.org/) to najbardziej znany uniksowy program do nagrywania CD-ROM-ów - ma wygodny graficzny interfejs, potrafi kopiować CD (również w trybie Quick CD -Copy - tzn. w locie, bez generowania pliku obrazu) z danymi, muzyczne i w formatach innych niż ISO9660 (np. HFS do MacOS).
Program instaluje się poleceniem: rpm -i xcdroast-0.96ex-1.i586.rpm i uruchamia w X-Window poleceniem: xcdroast. Zarówno instalacja jak i korzystanie z programu powinno następować z konta użytkownika root (administratora). Używanie X-CD-Roast nie różni się niczym szczególnym od korzystania z programów tego typu przeznaczonych do Windows. Po pierwszym uruchomieniu zostaniesz poproszony o wprowadzenie informacji niezbędnych do poprawnej pracy programu. W głównym menu (przycisk SCSI/IDE-Info) możesz sprawdzić, czy komputer prawidłowo "widzi" nagrywarkę. Teraz w głównym menu wybierz przycisk Setup i na karcie CD Setup sprawdź, czy program prawidłowo zaznaczył Twoją nagrywarkę.
Na karcie HD Setup w wierszu Image-Partition 1: wybierz partycję, na której ma być zapisywany plik obrazu, trzeba też wybrać Image Mount-point 1: - tam będzie instalowana wybrana wcześniej partycja, jak również zapisywany plik obrazu, jeśli wybierzesz opcję zapisu do pliku (patrz niżej). Na kartach Misc. i Defaults można ustawić różne parametry, jak powiadamianie sygnałem dźwiękowym o przebiegu nagrywania, zapisywanie pliku zdarzeń, wyrzucanie gotowej płyty po zakończeniu nagrania itd. Po zakończeniu konfiguracji wybierz Save i Done.
Rozpoczynając przygotowanie nowej płyty, wybierz z głównego menu przycisk Master CD. W tym oknie można wybrać katalog zawierający materiał do nagrania, podejrzeć, jak będzie wyglądać zawartość CD, i obliczyć jego objętość (przycisk Preview CD-Contents). Kolejny przycisk - Set Image-Type - pozwala na zdefiniowanie sposobu zapisu długich nazw plików na CD - tutaj najlepiej wybrać Rock-Ridge + Win95/NT, jeśli chcesz, aby użytkownicy Windows "widzieli" nazwy plików dłuższe niż osiem znaków. Przejdź następnie do "Set ISO-Header" i ustaw parametry identyfikujące płytę CD - nazwę woluminu (widoczną np. w Eksploratorze Windows jako nazwa dysku), identyfikator wydawcy (Publisher-ID) i osoby przygotowującej (Preparer-ID) - aczkolwiek dwa ostatnie parametry nie są zbyt istotne.
Teraz wybierz Master Image - utworzymy plik obrazu dysku CD. Zaznacz opcję File w wierszu Generate Image on - możesz tu wpisać ścieżkę do katalogu, w którym ma być zapisany plik obrazu (jeśli tego nie zrobisz, zostanie on zapisany w głównym katalogu partycji określonej wcześniej w opcji Image-Partition 1:). Możesz jeszcze sprawdzić, czy plik obrazu ma prawidłową strukturę katalogów (przycisk Review Image-Contents). Jeśli wszystko jest w porządku, wybierz Write Image i naciśnij przycisk Start Write Image. Rozpocznie się nagrywanie, sygnalizowane przez odpowiednie okienko, po czym zostanie wyświetlone potwierdzenie poprawnego zakończenia operacji.
Warto jeszcze na wszelki wypadek sprawdzić, czy płyta została nagrana poprawnie (przycisk Verify burned Img.), choć to trochę potrwa, bo zawartość CD jest porównywana z plikiem obrazu. Ostatnią czynnością jest usunięcie pliku obrazu (przycisk Delete Images) i zamknięcie programu.
Poważną wadą X-CD-Roast jest brak możliwości nagrywania CD wielosesyjnych i startowych - nie mają z tym problemu narzędzia uruchamiane z linii poleceń (mkisofs i cdrecord) i niektóre inne programy do nagrywania (np. KOnCD). Jeśli interesują cię szczegóły związane z multisession i bootable CD - wyczerpującym źródłem będzie dokument CD-Writing-HOWTO ze standardowego zbioru dokumentacji HOWTO. Oczywiście X-CD-Roast nie jest jedynym programem tego typu przeznaczonym do Linuksa, można także używać np.:
gnometoaster: http://gnometoaster.rulez.org/
ECLiPt Roaster: http://eclipt.uni-klu.ac.at/index2.html
KOnCD: www.kai-heitkamp.de/koncd
KCDTool: www.3logic.net/~sergey/ kcdtool