Następna strona Poprzednia strona Spis treści

2. Konfiguracja Linuksa do nagrywania płyt.

Jesli uda ci się pokonfigurować sprzęt i system, to polecenie cdrecord -scanbus wyświetli ci listę urządzeń, dostępnym do zapisu. Celem tego rozdziału jest poprowadzenie cię poprzez konfigurację Linuksa, tak abyś na końcu zobaczył coś takiego:

$> cdrecord -scanbus
Cdrecord release 1.7a1 Copyright (C) 1995-1998 Jörg Schilling
scsibus0:
          0) 'Quantum ' 'XP34300         ' 'F76D' Disk
          1) 'SEAGATE ' 'ST11200N        ' '8334' Disk
          2) *
          3) 'TOSHIBA ' 'MK537FB/        ' '6258' Disk
          4) 'WANGTEK ' '5150ES SCSI-36  ' 'ESB6' Removable Tape
          5) 'EXABYTE ' 'EXB-8500-85QUE  ' '0428' Removable Tape
          6) 'TOSHIBA ' 'XM-3401TASUNSLCD' '3593' Removable CD-ROM
          7) *
scsibus1:
        100) 'Quantum ' 'XP31070W        ' 'L912' Disk
        101) *
        102) *
        103) 'TEAC    ' 'CD-R55S         ' '1.0H' Removable CD-ROM
        104) 'MATSHITA' 'CD-R   CW-7502  ' '4.02' Removable CD-ROM
        105) *
        106) 'YAMAHA  ' 'CDR400t         ' '1.0d' Removable CD-ROM
        107) *
Listing 1: Wykrywanie urządzeń na kontrolerze SCSI.

Przykład ten został dostarczony przez Jörga Schillinga. Widać tutaj cztery nagrywarki. Nie można rozróżnić zwykłego CD-ROMu od nagrywarek. Ale identyfikator produktu ma często w sobie wskazówki w stylu R, -R czy -RW.

2.1 Konfiguracja jądra Linuksa.

Jądro można wyposażyć w sterowniki służące do różncyh celów. Można je wkompilować na stałe lub jako moduły ładowane na żądanie. Ta druga metoda jest preferowana dla sterowników niekrytycznych dla systemu. Np. jeśli masz system na dysku IDE, to sterownik do tego dysku musisz mieć w jądrze (a nie jako moduł).

Są trzy rodzaje nagrywarek: SCSI, IDE/ATAPI i zewnętrzne podłączane do portu równoległego. Tabela 4 pokazuje jak skonfigurować jądro dla tych typów nagrywarek. Pierwsza kolumna, to sekcja w menu konfiguracji jądra, gdzie można znaleźć dane ustawienie. Druga kolumna, to opis tej opcji. Trzecia kolumna, to nazwa modułu powstałego po kompilacji.

Y to tak (yes) i oznacza, że masz to wkompilować w jądro. M to moduł, i oznacza, że ma to być wkompilowane jako moduł. Y/M pozwala tobie wybrać czy ma to być moduł czy wkompilowanie w jądro. Puste ustawienia oznaczają, że nie trzeba tego modyfikować. Nie zmienianie tego ustawienia zwiększa szanse, że jadro będzie działać (jeśli działało wcześniej).

Aby sprawdzić jakie sterowniki są aktywne (tak statyczne jak i dynamiczne) w twoim jądrze, możesz odczytać plik /proc/devices. Aby sprawdzić jakie moduły są załadowane wydaj plecenie 'lsmod'. Aby sprawdzić jakie moduły są dostępne do załadowania wydaj polecenie 'modprobe -l'. Jeśli potrzebujesz modułu niedostępnego w twoim systemie, musisz przekompilować jądro. Przeczytaj Kernel-HOWTO na temat szczegółów kompilacji. Najświeższe informacje na temat obsługi modułów jądra znajdziesz w Module-HOWTO.

Sekcja      Opis                   Moduł    SCSI  IDE   PP
------------------------------------------------------------
BLOCK  Enhanced IDE/MFM/RLL...                     Y      
BLOCK  IDE/ATAPI CDROM             ide-cd        M/N/Y     
BLOCK  SCSI hostadaptor emulation  ide-scsi        M      
BLOCK  Loopback device             loop       M    M     M

PARIDE Parallel port IDE device    paride               Y/M
PARIDE Parallel port ATAPI CD-ROMs                       M
PARIDE Parallel port generic ATAPI                       M
PARIDE (select a low-level driver)                       Y

SCSI   SCSI support                scsi_mod  Y/M  Y/M    
SCSI   SCSI CD-ROM support         sr_mod    Y/M  Y/M     
SCSI     Enable vendor-specific               Y    Y      
SCSI   SCSI generic support        sg        Y/M  Y/M     
SCSI   (select a low-level driver)            Y

FS     ISO 9660 CDROM filesystem   iso9660    Y    Y     Y
FS     Microsoft Joliet cdrom...   joliet     M    M     M
Tabela 4: Konfiguracja jądra

Jeśli udało ci się już skompilować jądro czy znaleźć potrzebne moduły, to albo dodaj je do /etc/modules albo pozwól ładować je automatycznym narzędziom (kmod, kerneld). Jeśli nie jesteś pewien, skonsultuj to z dokumenctacją swojej dystrybucji.

Opcja "SCSI hostadaptor emulation" we wczesniejszych jądrach nazywa się "SCSI emulation" (około 2.0.36). Jeśli jądro na to pozwala, skompiluj sterownik dla CD-ROM-ów IDE/ATAPI jako moduł. Jeśli nie, to wyłącz go (N) i użyj zamiast niego sterownika do CD-ROM-ów SCSI. W jądrach serii 2.2, nie możliwe jest uruchamianie sterowników do IDE i SCSI na tym samym fizycznym urządzeniu w tym samym czasie (jeśli masz 2.0.36, to przeczytaj poniżej).

Urządzenie loopback jest opcjonalne i pozwala przetestować obraz płyty przed zapisaniem.

Jeśli chcesz móc czytać płyty, to potrzebujesz obsługi systemu plików ISO 9660. Sterownik ten zawiera w sobie obsługę RockRidge Extensions. Jeśli chcesz mieć także obsługę MS Joliet ERxtensions, to skompiluj je jako moduł i załaduj.

[Od tłumacza] O ile się nie mylę, to Joliet jest obsługiwany przez jądro 2.0.36...

W każdym przypadku potrzebujesz sterownik niskiego poziomu dla swojego sprzętu. "Niskiego poziomu" odnosi się do sterownika, który komunikuje się bezpośrednio ze sprzętem. Dla urządzeń SCSI i podłączanych przez port równoległy jest wiele sterowników niskiego poziomu. Są one opisane poniżej.

Specjalne uwagi dla serii 2.2

W jądrze 2.2.1 nie włączaj na raz opcji CONFIG_SCSI_MULTI_LUN ('probe for multiple luns') i obsługi ide-scsi. Znany jest błąd ide-scsi, który nie pozwala na to. W każdym razie zaleca się uaktualnienie do wersji 2.2.5.

Niektórzy użytkownicy zgłaszali konflikty między prekompilowanymi binariami a jądrem 2.2. Jest to problem z jądrem. Oto rozwiązania:

Specjalne uwagi dla wersji 2.0

Jądra w wersji wcześniejszej niż 2.0.31 mają kilka błedów i nie mogą czytać ostatniego pliku na płycie. Uaktualnij je do wersji 2.0.36.

W jądrze 2.0.36 możesz podać który sterownik (IDE czy SCSI) użyć do którego urządzenia ATAPI. Dokładniej: możesz włączyć opcję "SCSI emulation" w jądrze i uaktywnić ją dla konkretnego urządzenia przed lub podczas ładowania jądra. Np. jesli twojej nagrywarce odpowiada plik /dev/hdb, to dodaj polecenie hdb=ide-scsi.

image=/boot/zImage-2.0.36
  label=Linux
  read-only
  append="hdb=ide-scsi"
Listing 2: Przykładowa konfiguracja dla lilo (/etc/lilo.conf)

linux "Linux 2.0.36" {
        image=/boot/zImage-2.0.36
        cmdline= root=/dev/hda5 readonly hdb=ide-scsi
}
Listing 3: Przykłądowa konfiguracja dla chos (/etc/chos.conf)

2.2 Sprzęt i pliki urządzeń.

Jak już zainstalowałeś wszystkie potrzbne sterowniki, wystartuj nowe jądro. Powinno się tam już znajdować wszystko czego będziesz potrzebować do do następnych rozdziałów.

[Użytkownicy devfs nie muszą się przejmować następnymi krokami (ręczną konfiguracją plików urządzeń. Jeśli używasz devfs, wszystko pojawi się automagicznie na swoim miejscu.]

Przejdź do katalogu /dev i sprawdź czy masz urządzenia loopback. Nie jest to konieczne, żebyś musiał je mieć ale wygodniejsze (zobacz punkt 3.5). Jeśli już je masz, to polecenie ls powinno pokazać loop0 - loop7:

$ > cd /dev
$ > ls loop*
loop0 loop1 loop2 loop3 loop4 loop5 loop6 loop7
Listing 4: pliki urządzenia loopback

Jeśli nie masz tych urządzeń, to stwórz je przy pomocy skryptu /dev/MAKEDEV:

$ > cd /dev/
$ > modprobe loop
$ > ./MAKEDEV loop
Listing 5: polecenia do tworzenia plików urządzeń loopback

Ostatnie polecenie powiedzie się tylko jeśli masz skompilowany moduł loop. To co przeczytałeś dotąd na temat obsługi plików urzdzenia loopback odnosi się do wszystkich plików urządzeń (sg*, pg*, hd*, ...) i nie piszę wyraźnie o tym dalej.

Nagrywarki IDE/ATAPI.

ATAPI oznacza "polecenia SCSI przez szynę IDE". Innymi słowy napędy IDE/ATAPI porozumiewają się poprzez protokół SCSI (z pewnymi ograniczeniami) i w ten sposób mogą imitować urządzenia SCSI.

W Linuksie nagrywarka IDE może pojawić się jako SCSI dzięki opcji "SCSI (hostadaptor) emulation". Tak więc uaktywnij odpowiedni moduł jądra ide-scsi, jak to opisano powyżej i potem możesz robić wszystko tak jakbyś miał nagrywarkę SCSI.

Nagrywarki SCSI.

Upewnij się, że twoja nagrywarka jest rozpoznawana przez BIOS twojego komputera. Nie ma sensu robić czegokolwiek dalej jeśli twój komputer nie zaakceptuje sprzętu. (fakt, że komputer nie wypluje nagrywarki nie jest potwierdzeniem; na ekranie musi pojawić się odpowiedni napis).

Jeśli planujesz podłączyć swój napęd SCSI do portu równoległego, będziesz potrzebował specjalnego kabla i specjalnego sterownika w jądrze. Więcej na ten temat możesz poczytać pod adresem www.torque.net/parport/parscsi.html.

Ogólne urządzenia SCSI.

Pliki urządzeń /dev/sd* i /dev/sr* używane do komunikacji z dyskami i CD-ROM-ami SCSI mają zaimplementowany tylko transfer zorientowny na bloki danych. To właśnie czyni je tak szybkimi i idealnymi do zapisu danych. Sterowanie laserem nagrywarki to bardziej skomplikowane zadanie i wymaga trochę więcej niż transferu danych w postaci bloków. Aby utrzymać tę jakość urządzeń sd* i sr* stworzono nowy rodzaj plików urządzeń SCSI; tzw ogólne urządzenia SCSI.

Ponieważ poprzez ogólne urządzenia SCSI można zrobić wszystko ze sprzętem SCSI nie są one przeznaczone do jakiegoś konkretnego celu - stąd nazwa ogólne (generic).

Tak jak inne pliki urządzeń i te można znaleźć w katalogu /dev/:

$ > cd /dev
$ > ls sg*
sg0  sg1  sg2  sg3  sg4  sg5  sg6  sg7

Jeśli nie masz tych plików urządzeń, to stwórz je używając skryptu /dev/MAKEDEV:

$ > cd /dev/
$ > ./MAKEDEV sg

Nagrywarki podłączane przez porty równoległe.

Przykro mi, ale nie mam pojęcia na ten temat. Przeczytaj informacje zawarte na stronie WWW poświęconej temu tematowi albo plik na swoim dysku /usr/src/linux/Documentation/paride.txt.

2.3 Zdobądź oprogramowanie do wypalania CD-R.

Przegląd narzędzi służących do nagrywania płyt znajduje się pod adresem www.fokus.gmd.de. Project tworzenia CD dla Unix-a.

Narzędzia obsługiwane z linii poleceń.

Jedno z poniższych narzędzi potrzebne jest aby wygenerować obraz płyty.

mkisofs mkhybrid

W zależności od modelu twojej nagrywarki (zobacz 1.3) potrzebne jest jedno z poniższych narzędzi do zapisania danych na CD:

Nie wierz podręcznikowi systemowemu od (starego) mkisofs, który stwierdza, że potrzebujesz wersji 1.5. Po prostu użyj programu cdrecord i będzie w porządku. Zauważ, że program mkisofs dostarczany wraz z cdrecord ma kilka rozszerzeń wspomnianych w dokumentacji programu.

Graficzne interfejsy użytkownika. (opcjonalne)

Front-endy w Linuksie to rzeczywiste front-endy. Oznacza to, że ciągle musisz zainstalować narzędzia obsługiwane z linii poleceń, ale masz do nich dostęp w ładniejszy sposób.

X-CD-Roast to pakiet stworzony do ułatwienia tworzenia płyt w Linuksie. Łączy on narzędzia sterowane z linii poleceń jak cdrecord i mkisofs z ładnym graficznym interfejsem.

www.fh-muenchen.de

BurnIT to front-end napisany w Javie do cdrecord, mkisofs i cdda2wav-0.95, co czyni z niego kompletny pakiet do wypalania płyt CD na platformach unixowych. Ściągnąć go można z adresu sunsite.auc.dk.


Następna strona Poprzednia strona Spis treści