# CDROM w Linux-ie

## Autor: Jeff Tranter, tranter@pobox.com
v1.13, 23 Stycznia 1998
Wersja polska: Bartosz Maruszewski B.Maruszewski@jtz.org.pl
v1.1, 28 Sierpnia 1998

Dokument ten opisuje jak zainstalować, skonfigurować i używać napędy CD-ROM pod Linux-em. Znajduje się tu lista obsługiwanego sprzętu oraz odpowiedzi na wiele często zadawanych pytań. Celem tego dokumentu jest jak najszybsze wprowadzenie nowego użytkownika oraz zmniejszenie ruchu na grupach i listach dyskusyjnych. Dokument ten został napisany w standardzie ISO-8859-2. Oryginał tego dokumentu znajduje się pod adresem www.shop.de.

## 1. Wprowadzenie.

To jest dokument "Linux CD-ROM HOWTO". Przeznaczony on jest jako szybki podręcznik zawierający wszystko co musisz wiedzieć, aby zainstalować i skonfigurować CD-ROM pod Linux-em. Zawarte są tutaj także odpowiedzi na często zadawane pytania oraz podane są odwołania do innych źródeł informacji związanych z aplikacjami i techniką CD-ROM.

## 1.1 Podziękowania.

Większość z tych informacji pochodzi z dokumentaji, z plików źródłowych dostarczanych wraz z jądrem Linux-a, z FAQ grupy dyskusyjnej alt.cd-rom oraz od użytkowników Linux-a.

Dzięki pakietowi sgml-tools dokument ten jest dostępny w kilku formatach, wszystkie wygenerowane z jednego pliku źródłowego.

## 1.2 Historia dokumentu.

Wersja 1.0

  Pierwsza wersja dostępna publicznie.

Wersja 1.1

  CDU33A jest wyraźnie obsługiwany od jądra 1.1.20; uwagi na temat Reveal FIX; info na temat czytania ścieżek audio; info na temat kilku sterowników alfa; dodano sekcję Rozwiązywanie problemów; kilka innych mniejszych dodatków.

Wersja 1.2

  system plików ISO-9660 musi być montowany tylko-do-odczytu począwszy od jądra 1.1.33; wyjaśnione, że SB16 SCSI jest obsługiwane i nowsze napędy Aztech nie są; odwołania do programów photocd i xpcd; notka na temat nowej cechy SBPCD "auto eject".

Wersja 1.3

  Mała zmiana co do tego, że cecha "eject" w SBPCD jest domyślnie wyłączona od jądra 1.1.49; dodana informacja o dyskach XA i jak je zidentyfikować

Wersja 1.4

  HOWTO dostępne jest teraz w innych językach; napędy IBM i Longshine są obsługiwane przez SBPCD; alfa sterownik dla napędów Aztech; sterownik CDU-33 już nie szuka automatycznie, obsługuje PhotoCD i audio; obsługiwane są więcej niż 2 napędy SCSI; nowy sterownik dla IDE; przypomnienie o sprawdzeniu ustawienia zworek; można już ustawić SBPCD auto-eject przez IOCTL; lista napędów z obsługą wielosesyjności; pytanie na temat błyskania światełka na CDU-33

Wersja 1.5

  Duża aktualizacja (byłem zajęty); dokument umieszczony w warunkach GPL; informacja na temat wielu nowych sterowników w jądrze; więcej informacji na temat konfiguracji i rozwiązywania problemów; dodano wiele odwołań HTML; i wiele innych mniejszych zmian.

Wersja 1.6

  Dodane odwołanie do programu eject; pytanie o łatę dla praw dostępu plików; odwołanie do strony Creative Labs; odwołanie do FAQ ATA/EIDE i serwera FTP; uwaga, że wiele napędów Creative Labs i Mitsumi to już EIDE; wzmianka o Supermount; napędy podane jako obsługujące dane cyfrowe są przestarzałe, zobacz cdda2wav; więcej informacji na temat zapisu płyt CD; informacja o wielodyskowych napędach EIDE; poprawione kilka lietrówek.

Wersja 1.7

  nowa wersja jądra; większość plików README zostałą przeniesiona do /usr/src/linux/Documentation; niektóre sterowniki nie są już eksperymentalne; kilka następnych obsługiwanych napędów; wyraźne wskazanie, że większość napędów jest teraz IDE/ATAPI; dodane pytania o obsługę Plug and Play i identyfikacji prędkości napędu; listy dyskusyjne vger zostały zamknięte; inne różne drobne zmiany.

Wersja 1.8

  pytania o to czemu CD-ROM przestaje pracować po zainstalowaniu; sterownik aztcd obsługuje teraz dwa napędy CyCDROM; kolejne prośby, żeby nie używać sterownika SBPCD z napędami IDE; obsługa zmiany dysków w niektórych napędach ATAPI; uwaga na temat (braku) obsługi napędów podłączanych przez port równoległy; najnowsze stabilne jądro to 2.0; inne różne drobne zmiany.

Wersja 1.9

  kilka starych pytań usunięte; nowy adres pocztowy autora; dostępne tłumaczenie Chińskie; zmienione kilka odwołań, aby wskazywały na najnowsze pakiety programów; więcej informacji na temat książek multimedialnych; małe zmiany literówek i gramatyczne.

Wersja 1.10

  wyjaśnienie, że nowe napędy Aztech są ATAPI; dodane opcje CDU31A dla modularnego sterownika; opcja montowania do czytania plików ukrytych; dodałem sześciomiesięczną "datę ważności"; nowy URL do strony WWW o książce; mniejsze zmiany literówek i gramatyczne.

Wersja 1.11

  dodane odwołania na temat napędów podłączanych przez porty równoległe; dodana informacja o sterowniku bpcd; nowy URL dla wersji Chińskiej; kolejny sterownik CR-56x; informacje na temat startowalnych (bootable) płyt; odpowiedź na pytanie o CD-ROM API; "Linux Multimedia Guide" jest teraz dostępny po japońsku i francusku.

Wersja 1.12

  dodany odwołanie do polskiego tłumaczenia; CD-Writing już nie jest mini-HOWTO; dodane dwa pytania odnośnie systemu plików Joliet

Wersja 1.13

  dodane pozycje dla indeksu [Od tłum.: jeszcze nie w polskiej wersji.]; HOWTO umieszczone pod licencją LDP zamiast GPL; SuperProbe zamienione na odwołanie do automountera opartego na jądrze.

## 1.3 Nowe wersje tego dokumentu.

Nowe wersje będą wysyłane okresowo na grupę dyskusyjną comp.os.linux.answers. Będą także umieszczane w różnych archiwach składujących takie dokumenty włącznie z ftp.icm.edu.pl - polską kopią SunSITE.

Hipertekstowe wersje tego i wielu innych HOWTO są dostępne na wielu strona WWW, włączając http://sunsite.icm.edu.pl/. Większość dystrybucji Linux-a na CD-ROM-ach zawiera HOWTO, często w katalogu `/usr/doc/`, można także kupić drukowane wersje u różnych dystrybutorów. Czasami wersje dostępne na kompaktach, serwerach ftp, drukowane są przestarzałe. Jeśli data tego HOWTO jest starsza niż 6 miesięcy, to przypuszczalnie dostępna jest już nowsza wersja.

Francuskie tłumaczenie Bruno Corneca dostępne jest pod adresem ftp.ibp.fr.

Japońskie tłumaczenie Itsushi Minoura dostępne jest pod adresem jf.linux.or.jp.

Chińskie tłumaczenie (kodowanie BIG-5) Yung-kang Wu dostępne jest pod adresem linux.ntcic.edu.tw.

Polskie tłumaczenie właśnie czytasz.

Większość tłumaczeń tego i innych HOWTO można także znaleźć pod adresem ftp.icm.edu.pl

Jeśli przetłumaczyłeś to HOWTO na inny język, daj mi znać a dołączę tutaj odwołanie.

## 1.4 Komentarze.

Polegam na tobie, czytelniku, aby uczynić to HOWTO użytecznym. Jeśli masz jakieś sugestie, poprawki, czy komentarze, proszę przyślij mi je tranter@pobox.com, a spróbuje zawrzeć je w następnej wersji.

Jestem także chętny odpowiadać na ogólne pytania dotyczące CD-ROM-ów w Linux-ie. Zanim zadasz takie pytanie, przeczytaj proszę wszystkie informacje zawarte tutaj, a potem wyślij mi szczegółowe informacje o twoim problemie. Nie zadawaj proszę pytań na temat używania CD-ROM-ów w innych systemach niż Linux.

Jeśli wydasz ten dokument na CD-ROM-ie albo w jakiejś trwałej kopii, to prosiłbym o przysłanie mi autorskiej kopii; zapytaj mnie pocztą elektroniczną o zwykły adres pocztowy. Rozważ także czy możesz udzielić jakiejś dotacji na rzecz "Linux Documentation Project", aby wspomóc darmową dokumentację dla Linux-a. Skontaktuj się z koordynatorem Linux HOWTO, Timem Bynamem, aby uzyskać więcej informacji.

## 1.5 Warunki dystrybucja.

Prawa autorskie należą do Jeffa Trantera (C) 1995-1998.

Dokument ten może być dystrybuowany na warunkach ustalonych w licencji LDP ( http://sunsite.icm.edu.pl/pub/Linux/Documentation/COPYRIGHT.html)

## 2. Technologia CD-ROM.

    "CD-ROM jest pamięcią tylko-do-odczytu a system audio dla płyt kompaktowych
    jest dostępny jako pakiet danych cyfrowych. Kiedy słuchasz
    płyt z muzyką, włóż proszę wtyczkę od słuchawek do karty dźwiękowej."
    -- z podręcznika CD-ROM-u

Nie panikuj! Świat technologii CD-ROM nie jest taki skomplikowany jak twój podręcznik.

CD-ROM to skrót od "Compact Disc Read Only Memory", nośnik danych wykorzystujący laser optyczny, aby mikroskopijne zagłębienia na aluminiowanej warstwie dysku poliwęglanowego. Ten sam format używany jest dla płyt muzycznych. Z powodu dużej pojemności, niezawodności i niskiego kosztu, CD-ROM stał się najbardziej popularnym medium do zapisywania danych.

Pojemność CD-ROM-u to około 650 MB, równowartość 500 dyskietek 3,5" lub 250.000 wklepanych stron.

Napędy pierwszej generacji (znane jako pojedynczej prędkości), pracowały z prędkością ok. 150 kb/s. Producenci sprzętu zaprezentowali potem napędu podwójnej prędkości (300 kb/s), czterokrotnej prędkości (600 kb/s) i szybsze. Kiedy ja to piszę, są już dostępne napędu o prędkości 24-krotnej.

Większość napędów CD-ROM używa albo "Small Computer Systems Interface" (SCSI), ulepszony interfejs IDE ATAPI, albo interfejs sprzedawcy. Mają zwykle także możliwość słuchania płyt muzycznych poprzez zewnętrzne słuchawki, albo wyjście zewnętrzne. Niektóre kompakty pozwalają także na czytanie ramek danych z kompaktu muzycznego w formie cyfrowej.

CD-ROM-y są zwykle sformatowane systemem plików ISO-9660 (wcześniej zwanym High Sierra). Format ten ogranicza nazwy plików do stylu MS-DOS-a (8+3). Rock Ridge Extensions wykorzystuje niezdefiniowane pola w standardzie ISO-9660, aby obsługiwać dłuższe nazwy i dodatkowo informacje typowo unix-owe (właściciel pliku, symboliczne dowiązania itp.)

PhotoCD to standard rozwinięty przez Kodak-a dla zapisywania fotografii jako danych cyfrowych na CD-ROM-ach. Posiadając odpowiednie oprogramowanie, możesz te obrazki oglądać, obrabiać je lub wysłać na drukarkę. Informacje mogą być później dodane do PhotoCD; jest to znane jako wielosesyjność.

Nagrywarki CD (CD-R) są także dostępne i są coraz bardziej opłacalne. Używają one innych środków i specjalizowanego wyposażenia do nagrywania, ale płyta wynikowa może być odczytana przez jakikolwiek napęd CD-ROM.

W przyszłości spodziewa się, że sprzedawy CD-ROM-ów zaoferują nowe technologie, które będą zwiększały pojemność wraz ze wzrostem zapotrzebowania.

## 3. Obsługiwany sprzęt.

W sekcji tej znajdują się sterowniki oraz interfejsy, które są obecnie obsługiwane przez Linux-a. Informacje oparte są na najnowszym stabilnym jądrze - 2.0.33. Rozwojowe jądra (2.1.x) są także dostępne, ale nie ma gwarancji, że będą stabilne.

Informacje te są ważne tylko dla Linux-a na platformie Intel. Wiele z nich można także zastosować dla innych platform, ale nie mam żadnych doświadczeń czy informacji z pierwszej ręki.

## 3.1 Napędy ATAPI CD-ROM.

ATAPI (ATA Packet Interface) jest protokołem do kontrolowania urządzeń masowego zapisu. Tworzy on interfejs ATA (AT Attachment), oficjalna standardowa nazwa ANSI dla intrfejsów IDE rozwijanych dla napędów dysków twardych. ATAPI jest popularnie stosowany do dysków twardych, CD-ROM-ów, taśm i innych urządzeń. Obecnie najbardziej popularny interfejs - oferuje większość funkcji SCSI, bez drogich kontrolerów czy kabli.

Jądro Linux-a ma sterownik urządzenia, który powinien współpracować z każdym napędem CD-ROM ATAPI. Sprzedawcy dostarczający kompatybilne napędy to: Aztech, Mitsumi, NEC, Sony, Creative Labs i Vertos. Jeśli nabyłeś ostatnio napęd CD-ROM, szczególnie jeśli jest on czterokrotnej prędkości lub szybszy, to jest to prawie na pewno IDE/ATAPI.

## 3.2 Napędy SCSI.

SCSI (Small Computer Systems Interface) jest popularnym formatem dla napędów CD-ROM. Głównymi zaletami są rozsądnie szybka prędkość działania, możliwość podłączania wielu urządzeń, i obsługa na wielu platformach komputerowych. Jedną z wad jest droga karta kontrolera i kabli.

Każdy napęd CD-ROM SCSI z blokami o rozmiarze 512 lub 2048 bajtów powinien działać pod Linxu-em; zawiera się tu stanowcza większość napędów CD-ROM dostępnych na rynku.

Będziesz także potrzebował obsługiwanej karty SCSI; w SCSI HOWTO znajdziesz więcej informacji na temat interfejsów sprzętowych.

Zauważ, że niektóre CD-ROM-y zawierają swoje własne kontrolery ze zmodyfikowanym interfejsem, który nie jest w peni kompatybilny z SCSI (np. może nie pozwalać na dodawanie innych urządzeń na szynie SCSI). Taki sprzęt raczej nie będzie działać na Linux-ie.

## 3.3 Napędy CD-ROM z własnym interfejsem.

Dostępne jest kilka takich CD-ROM-ów; interfejs jest z reguły dostarczany na karcie dźwiękowej. Proste karty z takimi interfejsami równorzędnymi do tych na kartach dźwiękowych są także dostępne. Napędy te są z reguły tańsze i mniejsze niż napędy SCSI. Głównymi ich wadami są brak stadaryzacji i możliwości rozszerzania.

Zauważ, że własne interfejsy są czasami mylnie nazywane interfejsami IDE, ponieważ tak jak dyski IDE, używają prostego interfejsu opartego na szynie PC/AT. Żeby zwiększyć całe zamieszanie niektórzy dostawcy, najczęściej Creative Labs, dostarczyli wiele różnych typów napędów CD-ROM i oferowali swoje interfejsy, interfejsy SCSI i ATAPI na swoich kartach dźwiękowych.

W tabeli poniżej znajdują się napędy CD-ROM z własnymi interfejsami, które działają pod Linux-em. Sterowniki dla dodatkowych urządzeń mogą być dostępne w ostatniej wersji rozwojowej jądra albo jako łaty do jądra. Te drugie można najczęściej znaleźć na ftp.icm.edu.pl. Sprawdź także ostatnie informacje zawarte w plikach README dostarczanych wraz z jądrem Linux-a umieszczonych w katalogu `/usr/src/linux/Documentation/cdrom`.

                    Napędy CD-ROM ze swoimi interfejsami

    Sprzedawca      Model       Sterownik w jądrze  Uwagi
    ------          -----           -------------   --------
    Panasonic       CR-521          sbpcd           1
    Panasonic       CR-522          sbpcd           1
    Panasonic       CR-523          sbpcd           1
    Panasonic       CR-562          sbpcd           1
    Panasonic       CR-563          sbpcd           1
    Creative Labs   CD-200          sbpcd
    IBM             External ISA    sbpcd           2
    Longshine       LCS-7260        sbpcd
    Teac            CD-55A          sbpcd
    Sony            CDU-31A         cdu31a
    Sony            CDU-33A         cdu31a
    Sony            CDU-535         sonycd535       3
    Sony            CDU-531         sonycd535
    Aztech          CDA268-01A      aztcd           4
    Orchid          CDS-3110        aztcd
    Okano/Wearnes   CDD110          aztcd
    Conrad          TXC             aztcd
    CyCDROM         CR520ie         aztcd
    CyCDROM         CR940ie         aztcd
    GoldStar        R420            gscd            5
    Philips/LMS     CM206           cm206           6
    Mitsumi         CRMC LU005S     mcd/mcdx        7, 8
    Mitsumi         FX001           mcd/mcdx        7, 8
    Optics Storage  Dolphin 8000AT  optcd
    Lasermate       CR328A          optcd
    Sanyo           H94A            sjcd
    various         various         isp16           9
    MicroSolutions  Backpack        bpcd

Uwagi:

1. Te napędy mogą być sprzedawane pod nazwą Creative labs, Panasonic, matsushita lub Kotobuki.
2. Ten napęd jest taki sam jak Panasonic CR-562.
3. Może być także sprzedawany jako Procomm.
4. Ten sterownik jest tylko do CDA268-01A. Inne modele, włącznie z CDA268-03I i CDA269-031SE nie mają własnych interfejsów i powinny używać sterownika IDECD (ATAPI) zawartego w jądrze.
5. Może być także sprzedawany jako część pakietu Reveal Multimedia Kit
6. Philips CM205 nie jest obsługiwany przez ten sterownik, ale jest osobny sterownik alfa lmscd0.4.tar.gz dostępny na ftp.icm.edu.pl.
7. Może być także sprzedawany jako Radio Shack.
8. Są dostępne dwa sterowniki. "mcd" jest oryginalny i "mcdx" jest nowszym z większą ilością funkcji (ale możliwe, że mniej stabilny).
9. Ten sterownik działa z napędami CD-ROM, które są dołączone do interfejsu na kartach dźwiękowych ISP16, MAD16 albo Mozart.

Jeśli napęd podany w powyższej liście nie jest obsługiwany przez jądro, to pewnie musisz uaktualnić je do nowszej wersji.

Jeśli twój napęd nie jest którymś z podanych wyżej, szczególnie jeśli został kupiony ostatnio i jest czterokrotnej prędkości lub szybszy, to najprzypuszczalnej używa on interfejsu IDE/ATAPI, wymienionego w poprzedniej sekcji. Prostym najpopularniejszym błędem popełnianym przez użytkowników CD-ROM-u na Linux-ie jest zakładanie, że każdy napęd podłączony do karty SoundBlaster powinien używać sterownika SBPCD. Creative Labs i większość innych sprzedawców nie sprzedają już napędów z własnymi interfejsami, przychylają się do standardu ATAPI/IDE.

## 3.4 Napędy podłączane przez porty równoległe.

Niektórzy sprzedawcy sprzedają takie właśnie CD-ROM-y. Jedyny napęd tego rodzaju obsługiwany obecnie przez Linux-a, to MicroSolutions Backpack.

Sterowniki dla jeszcze kilku takich napędów są dostępne osobno jako łaty na jądro albo ładowalne moduły. Najnowsze informacje na ten temat możesz znaleźć pod adresem http://www.torque.net/linux-pp.html.

## 3.5 Kolejne sterowniki.

Jest jeszcze jeden sterownik w jądrze dla napędów Panasonic/Matsushita CR-56x - pcd-0.29.tar.gz. Napisany został przez Zoltana Vorosbaranyi. Można go znaleźć pod adresem ftp.tarki.hu.

## 4. Instalacja.

1. Instalacja sprzętu.
2. Konfiguracja i kompilacja jądra.
3. Tworzenie plików urządzeń i ustawianie parametrów startowych.
4. Startowanie jądra.
5. Montowanie nośnika.

Kolejne sekcje omawiają każdy ten punkt w szczegółach.

## 4.1 Instalacja sprzętu.

Postępuj zgodnie ze wskazówkami producenta, albo poproś sprzedawcę o zainstalowanie. Szczegóły będą się różniły w zależności od tego czy napęd jest wewnętrzny czy zewnętrzny, od typu interfejsu. Nie ma żadnych specjalnych wymagań instalacyjnych co do Linux-a. Możesz musieć poustawiać odpowiednio zworki na napędzie i/lub karcie z interfejsem; niektóre sterowniki w jądrze zawierają pliki README, w których są takie informacje.

Jak to jest wyjaśnione w pliku `ide-cd`, CD-ROM-y ATAPI powinny być ustawione jako "single" lub "master", a nie "slave" jeśli tylko jedno urządzenie IDE jest podłączone do interfejsu (chociaż w ostatnich jądrach to ograniczenie nie jest już stosowane).

## 4.2 Konfiguracja i kompilacja jądra.

Jeśli instalujesz Linux-a z CD-ROM-u to najprawdopodobniej użyjesz dyskietek "boot" i/lub "root" dostarczonych jako część dystrybucji Linux-a. Jeśli jest to możliwe, powinieneś wybrać dyskietkę startową z jądrem zawierającym sterownik dla twojego CD-ROM-u. Jeśli nie możesz znaleźć takiej dyskietki, to jest kilka rozwiązań:

1. Instalacja przez sieć.
2. Wystartuj DOS-a i zainstaluj pliki Linux-a na swoim dysku twardym
3. Wystartuj DOS-a i stwórz odpowiednie dyskietki do instalacji Linux-a
4. Znajdź kogoś, kto może ci zrobić dyskietkę startową z odpowiednim sterownikiem.

W Installation-HOWTO (dostępnym również w języku polskim) znajdziesz więcej informacji na temat instalacji Linux-a. Jeśli kupiłeś Linux-a na CD-ROM-ie, to przypuszczalnie zawarte są jakieś informacje dotyczące instalacji (taka mała książeczka wewnątrz skrzyneczki na biżuterię i/lub pliki na płycie).

Po zainstalowaniu Linux-a, większość użytkowników chce skompilować jądro, zwykle z jednego z tych powodów:

- aby obsługiwać napęd CD-ROM albo inny sprzęt
- żeby mieć nowsze jądro
- żeby zwolnić pamięć minimalizując rozmiar jądra

Szczegóły na temat kompilacji jądra można znaleźć w Kernel-HOWTO dostępnym w języku polskim. Ja wspomnę tutaj tylko kilka rzeczy specyficznych dla CD-ROM-ów.

Oczywiście, musisz zaznaczyć obsługę swojego CD-ROM-u podczas wykonywania polecenia "make config".

Jeśli masz CD-ROM ATAPI, to musisz odpowiedzieć "yes" na te pytania:

> `

>     Enhanced IDE/MFM/RLL disk/cdrom/tape support (CONFIG_BLK_DEV_IDE) [Y/n/?]
>     Include IDE/ATAPI CDROM support (CONFIG_BLK_DEV_IDECD) [Y/n/?]

> `

dla napędów SCSI włącz te opcje:

> `

>     SCSI support (CONFIG_SCSI) [Y/n/m/?]
>     SCSI CD-ROM support (CONFIG_BLK_DEV_SR) [Y/n/m/?]

> `

Włącz także obsługę swojego kontrolera:

> `

>     Adaptec AHA152X support (CONFIG_SCSI_AHA152X) [Y/n/m/?]

> `

Dla napędów z własnymi interfejsami włącz odpowiedni sterownik. Możesz użyć tabeli podanej wcześniej, aby zobaczyć jaki sterownik jest potrzebny dla twojego modelu.

Wirtualnie wszystkie CD-ROM-y używają systemu plików ISO-9660, więc musisz także włączyć jego obsługę:

> `

>     ISO9660 cdrom filesystem support (CONFIG_ISO9660_FS) [Y/n/m/?]

> `

Chociaż nie jest to potrzebne do działania CD-ROM-u, jeśli masz kartę dźwiękową, która jest obsługiwana przez Linux-a, to możesz także dołączyć jej obsługę. Odpowiednim dokumentem będzie tutaj Sound-HOWTO dostępne także w języku polskim.

Powinieneś potem postępować zgodnie ze zwykłą procedurą kompilacji i instalacji jądra. Nie startuj nowego jądra dopóki nie stworzysz plików urządzeń i nie ustawisz parametrów startowych tak jak to jest opisane w następnej sekcji.

Obsługa systemu plików ISO-9660, tak jak prawie wszystkie sterowniki do CD-ROM-ów może być stworzona jako ładowalny moduł. Pozwala to na ładowanie i usuwanie go z pamięci bez potrzeby restartu komputera, uwalniając pamięć. Polecam, zebyś spróbował najpierw zainstalować CD-ROM ze sterownikami wkompilowanymi w jądro. Jak używać modułów opisane jest w dokumentaji dołączonej do nich i w Kernel-HOWTO.

Jeśli twój napęd nie jest obsługiwany przez twoje jądro, to musisz pewnie uaktualnić je.

Możliwe też, że musisz użyć sterownika, który dostarczany jest osobno. To z reguły łączy się z łataniem jądra. Jeszcze raz Kernel-HOWTO wyjaśnia jak się to robi.

Zauważ, że możesz także wybrać konfigurację a'la menu poleceniem "make menuconfig" oraz konfigurację w okienkach X11 "make xconfig". Wszystkie trzy rodzaje konfiguracji mają podręczną pomoc.

## 4.3 Tworzenie plików urządzeń i ustawianie parametrów startowych.

Jądro używa plików urządzeń aby zidentyfikować którego sterownika urządzeń użyć. Jeśli masz standardową dystrybucję, to możliwe, że stworzyłeś te pliki podczas instalacji. Na przykład w Slackware jest narzędzie `setup` w postaci menu, które zawiera ustawienie CD-ROM-u oraz większość systemów ma skrypt `/dev/MAKEDEV`. Jeśli nie użyjesz tych metod, to możesz to zrobić ręcznie, jak to jest opisane dalej w tym dokumencie. Nawet jeśli skorzystasz z tych metod, to zaleca się żebyś chociaż zweryfikował te pliki z informacjami zawartymi tutaj.

Pliki urządzeń tworzy się poleceniami wykonywanymi w powłoce, w zależności od twojego napędu. Powinieneś to robić jako `root`. Zauważ, że niektóre dystrybucje Linux-a mogą używać trochę innego nazewnictwa niż podane tutaj.

Zaleca się także, żebyś zrobił symboliczne dowiązanie do urządzenia CD-ROM-u, aby łatwiej je zapamiętać. Na przykład, dowiązanie dla napędu IDE, który jest drugim urządzeniem na drugim interfejsie, należy zrobić poleceniem:

> `

>     # ln -s /dev/hdd /dev/cdrom

> `

Jeśli chcesz słuchać płyt audio, to będziesz musiał ustawić odpowiednie prawa dostępu dla pliku urządzenia (tego prawdziwego, a nie dowiązania), aby pozwolić wszystkim użytkownikom z niego czytać, np.

> `

>     # chmod 664 /dev/hdd
>     # ls -l /dev/hdd
>     brw-rw-r--   1 root     disk      22,  64 Feb  4  1995 /dev/hdd

> `

Podczas startu Linux-a, sterownik urządzenia próbuje sprawdzić czy obecne są odpowiednie urządzenia, zwykle robi to, sprawdzając specyficzne adresy. Wiele z tych sterowników sprawdza kilka adresów, ale z powodu różnic w konfiguracji, możliwych konfliktów urządzeń, ograniczeń sprzętowych, potrzebują one czasami pomocy w identyfikacji adresów i innych parametrów. Większość sterowników obsługuje opcje podawane w linii poleceń jądra, aby przekazać te informacje do sterownika urządzenia. Może się to odbyć interaktywnie, albo częściej, wpisując tę informację do konfiguracji programu ładującego system. Np. przy LILO, dodałbyś do swojego pliku `/etc/lilo.conf` polecenie `append`, takie jak poniżej:

> `

>     append = "sbpcd=0x230,SoundBlaster"

> `

Więcej informacji znajdziesz w dokumentacji do LILO.

W następnej sekcji omówię sprawy dotyczące konkretnych sterowników, włącznie z plikami urządzeń, parametrami startowymi i możliwościami poszczególnych sterowników. Przypuszczalnie powinieneś przeczytać tylko sekcję dla twojego typu napędu. Pliki README są zwykle w katalogu `/usr/src/linux/Documentation/cdrom`.

### Sterownik sbpcd.

    Autor główny:                   Eberhard Moenkeberg (emoenke@gwdg.de)
    Obsługa wielosesyjności:        tak (but not all drives)
    Obsługa wielu napędów:          tak
    Obsługa ładowalnego modułu:     tak
    Czytanie ramek audio:           tak (CR-562, CR-563, CD-200 only)
    Automatyczne wykrywanie:        tak
    Plik urządzenia:                /dev/sbpcd, major 25
    Plik konfiguracyjny:            sbpcd.h
    Opcja konfiguracyjna dla jądra: Matsushita/Panasonic CDROM support?
    Plik README:                    sbpcd

Sterownik ten przyjmuje następujące parametry:

> `

>     sbpcd=<io-address>,<interface-type>

> `

Pierwszy parametr to adres bazowy urządzenia (np. 0x230) a <interface-type> to jedno z "SoundBlaster", "LaserMate" lub "SPEA". W pliku `sbpcd.h` znajdziesz wskazówki którego typu interfejsu użyć. Parametr `sbpcd=0` wyłącza automatyczne wykrywanie, wyłączając tym samym sterownik.

Plik urządzenia może być stworzony poleceniem:

> `

>     # mknod /dev/sbpcd b 25 0

> `

Obsługiwane jest do czterech napędów na kontrolerze. Następne trzy napędy na pierwszym kontrolerze miałyby numery poboczne urządzenia od 1 do 3. Jeśli masz więcej niż jeden kontroler, stwórz urządzenia z liczbą główną 26, 27 i 28, aż do maksimum 4 kontrolerów (to w sumie 16 napędów CD-ROM; mam nadzieję, że dla większości użytkowników to wystarczająco :-).

Więcej informacji na temat tego sterownika znajdziesz w pliku `sbpcd`.

Jeśli kupiłeś ostatnio napęd CD-ROM, to nie zakładaj, że jeśli podłączy się go do karty SoundBlaster, to powinien on używać tego sterownika. Większość napędów sprzedawanych teraz przez Creative Labs to napędy EIDEATAPI.

### Sterownik Sonycdu535.

    Autor główny:                   Ken Pizzini (ken@halcyon.com)
    Obsługa wielosesyjności:        nie
    Obsługa wielu napędów:          nie
    Obsługa ładowalnego modułu:     tak
    Czytanie ramek audio:           nie
    Automatyczne wykrywanie:        nie
    Plik urządzenia:                /dev/sonycd535, major 24
    Plik konfiguracyjny:            sonycd535.h
    Opcja konfiguracyjna dla jądra: Sony CDU535 CDROM support?
    Plik README:                    sonycd535

Sterownik ten przyjmuje parametry w postaci:

> `

>     sonycd535=<io-address>

> `

<io-address> oznacza adres bazowy kontrolera (np. 0x320). Alternatywnie możesz ustawić ten adres w pliku `sonycd535.h` i wkompilować tę wartość na stałe.

Plik urządzenia może być stworzony poleceniem:

> `

>     # mknod /dev/sonycd535 b 24 0

> `

Niektóre dystrybucje Linux-a używają `/dev/sonycd` dla tego urządzenia. Starsze wersje sterownika używały głównego numeru 21; upewnij się, że twój plik urządzenia jest poprawny.

Sterownik ten był wcześniej dystrybuowany jako łata, ale teraz jest częścią standardowego jądra. Więcej informacji na temat tego strownika znajdziesz w pliku `sonycd535`.

### Sterownik cdu31a

    Autor główny:                   Corey Minyard (minyard@-rch.cirr.com)
    Obsługa wielosesyjności:        tak
    Obsługa wielu napędów:          nie
    Obsługa ładowalnego modułu:     tak
    Czytanie ramek audio:           tak
    Automatyczne wykrywanie:        nie
    Plik urządzenia:                /dev/cdu31a, major 15
    Plik konfiguracyjny:            cdu31a.h
    Opcja konfiguracyjna dla jądra: Sony CDU31A/CDU33A CDROM support?
    Plik README:                    cdu31a

Sterownik ten przyjmuje opcje w postaci:

> `

>     cdu31a=<io-address>,<interrupt>,PAS

> `

Pierwszy numer, to adres bazowy I/O karty (np. 0x340). Drugi jest numerem przerwania, którego należy użyć (0 oznacza próbkowanie(polling) i/o). Opcjonalny trzeci parametr pownien mieć wartość PAS jeśli napęd podłączony jest do karty dźwiękowej Pro Audio Spectrum 16, w innym przypadku należy go opuścić.

Jeśli sterownik jest modułem, to używa on trochę innego formatu. Podczas ładowania modułu programem modprobe lub insmod parametry przyjmują postać:

> `

>     cdu31a_port=<io-address> cdu31a_irq=<interrupt>

> `

Adres bazowy I/O jest wymagany, ale numer przerwania - nie.

Plik urządzenia może być stworzony przy pomocy:

> `

>     # mknod /dev/cdu31a b 15 0

> `

Więcej informacji na temat tego sterownika znajdziesz w pliku `cdu31a`.

Zajrzyj także na stronę WWW zrobioną przez Jeffreya Oxenreidera ( zureal@infinet.com), która zawiera opis wielu problemów dotyczących tych sterowników. Można ją znaleźć pod adresem www.infinet.com.

### Sterownik aztcd.

    Autor główny:                   Werner Zimmermann (zimmerma@rz.fht-esslingen.de)
    Obsługa wielosesyjności:        tak
    Obsługa wielu napędów:          nie
    Obsługa ładowalnego modułu:     tak
    Czytanie ramek audio:           nie
    Automatyczne wykrywanie:        nie
    Plik urządzenia:                /dev/aztcd0, major 29
    Plik konfiguracyjny:            aztcd.h
    Opcja konfiguracyjna dla jądra: Aztech/Orchid/Okano/Wearnes (non IDE) CDROM support?
    Plik README:                    aztcd

Sterownik ten przyjmuje parametry w postaci:

> `

>     aztcd=<io-address>

> `

Parametrem jest tutaj adres bazowy I/O karty (np. 0x340).

Plik urządzenia może być stworzony przy pomocy:

> `

>     # mknod /dev/aztcd0 b 29 0

> `

Zauważ, że sterownik ten jest przeznaczony tylko dla modelu CDA268-01A. Inne modele, włącznie z CDA268-03I i CDA269-031SE, nie posiadają własnych interfejsów i powinny używać standardowego sterownika IDECD (ATAPI).

Więcej informacji na temat tego sterownika znajdziesz w pliku aztcd.

### Sterownik gscd.

    Autor główny:                   Oliver Raupach (raupach@nwfs1.rz.fh-hannover.de)
    Obsługa wielosesyjności:        nie
    Obsługa wielu napędów:          nie
    Obsługa ładowalnego modułu:     tak
    Czytanie ramek audio:           nie
    Automatyczne wykrywanie:        nie
    Plik urządzenia:                /dev/gscd0, major 16
    Plik konfiguracyjny:            gscd.h
    Opcja konfiguracyjna dla jądra: Goldstar R420 CDROM support?
    Plik README:                    gscd

Sterownik ten przyjmuje parametry w postaci:

> `

>     gscd=<io-address>

> `

Jedynym parametrem jest tutaj adres bazowy I/O karty (np. 0x340).

Plik urządzenia może być stworzony przy pomocy:

> `

>     # mknod /dev/gscd0 b 16 0

> `

Więcej informacji na temat tego sterownika znajdziesz w pliku `gscd` oraz na stronie WWW linux.rz.fh-hannover.de.

### Sterownik mcd.

    Autor główny: Martin  (martin@bdsi.com)
    Obsługa wielosesyjności:        nie
    bsługa wielu napędów:           nie
    Obsługa ładowalnego modułu:     tak
    Czytanie ramek audio:           nie
    Automatyczne wykrywanie:        nie
    Plik urządzenia:                /dev/mcd, major 23
    Plik konfiguracyjny:            mcd.h
    Opcja konfiguracyjna dla jądra: Standard Mitsumi CDROM support?
    Plik README:                    mcd

To jest starszy sterownik dla napędów Mitsumi, który był dostępny przez jakiś czas. Możesz spróbować nowszego sterownika `mcdx`, który ma kilka nowych funkcji, ale jest przypuszczalnie mniej stabilny.

Sterownik ten przyjmuje następujące parametry:

> `

>     mcd=<io-address>,<irq>

> `

Kolejne parametry to adres bazowy I/O karty (np. 0x340) oraz numer przerwania.

Plik urządzenia można stworzyć poleceniem:

> `

>     # mknod /dev/mcd b 23 0

> `

Więcej informacji na temat tego sterownika znajdziesz w pliku `mcd`.

### Sterownik mcdx.

    Autor główny:                   Heiko Schlittermann
    Obsługa wielosesyjności:        tak
    Obsługa wielu napędów:          tak
    Obsługa ładowalnego modułu:     tak
    Czytanie ramek audio:           nie (brak obsługi sprzętowej)
    Automatyczne wykrywanie:        nie
    Plik urządzenia:                /dev/mcdx0, major 20
    Plik konfiguracyjny:            mcdx.h
    Opcja konfiguracyjna dla jądra: Experimental Mitsumi support?
    Plik README:                    mcdx

Jest to nowszy sterownik dla napędów Mitsumi. Starszy i przypuszczalnie bardziej stabilny - `mcd` - jest nadal dostępny.

Sterownik ten przyjmuje następujące parametry:

> `

>     mcdx=<io-address>,<irq>

> `

Kolejne parametry to adres bazowy I/O karty (np. 0x340) i numer przerwania.

Plik urządzenia można stworzyć poleceniem:

> `

>     # mknod /dev/mcdx0 b 20 0

> `

Jeśli kupiłeś ostatnio napęd CD-ROM Mitsumi, to nie zakładaj, że powinien on używać tego sterownika. Niektóre modele mitsumi są teraz typu EIDE/ATAPI i powinny używać standardowego sterownika idecd.

Więcej informacji na temat tego sterownika znajdziesz w pliku `mcdx`.

### Sterownik cm206

    Autor główny:                   David A. van Leeuwen (david@tm.tno.)
    Obsługa wielosesyjności:        tak
    Obsługa wielu napędów:          nie
    Obsługa ładowalnego modułu:     tak
    Czytanie ramek audio:           nie
    Automatyczne wykrywanie:        tak
    Plik urządzenia:                /dev/cm206cd, major 32
    Plik konfiguracyjny:            cm206.h
    Opcja konfiguracyjna dla jądra: Philips/LMS CM206 CDROM support?
    Plik README:                    cm206

Sterownik ten przyjmuje następujące parametry:

> `

>     cm206=<io-address>,<interrupt>

> `

Pierwszy numer jest adresem bazowym I/O karty (np. 0x340). Drugi to numer przerwania.

Plik urządzenia może być stworzony poleceniem:

> `

>     # mknod /dev/cm206cd b 32 0

> `

Więcej informacji na temat tego sterownika znajdziesz w pliku `cm206`.

### Sterownik optcd.

    Autor główny:                   Leo Spiekman (spiekman@dutette.et.tudelft.nl)
    Obsługa wielosesyjności:        tak
    Obsługa wielu napędów:          nie
    Obsługa ładowalnego modułu:     tak
    Czytanie ramek audio:           nie
    Automatyczne wykrywanie:        nie
    Plik urządzenia:                /dev/optcd0, major 17
    Plik konfiguracyjny:            optcd.h
    Opcja konfiguracyjna dla jądra: Experimental Optics Storage ... CDROM support?
    Plik README:                    optcd

Sterownik ten przyjmuje następujące parametry:

> `

>     optcd=<io-address>

> `

Parametrem jest tutaj adres bazowy I/O karty (np. 0x340).

Plik urządzenia można stworzyć:

> `

>     # mknod /dev/optcd0 b 17 0

> `

Więcej informacji na temat tego sterownika znajdziesz w pliku `optcd`.

### Sterownik sjcd.

    Autor główny:                   Vadim V. Model (vadim@rbrf.msk.su)
    Obsługa wielosesyjności:        nie
    Obsługa wielu napędów:          nie
    Obsługa ładowalnego modułu:     tak
    Czytanie ramek audio:           nie
    Automatyczne wykrywanie:        nie
    Plik urządzenia:                /dev/sjcd, major 18
    Plik konfiguracyjny:            sjcd.h
    Opcja konfiguracyjna dla jądra: Experimental Sanyo H94A CDROM support?
    Plik README:                    sjcd

Sterownik ten przyjmuje następujące parametry:

> `

>     sjcd=<io-address>,<interrupt>,<dma>

> `

Kolejne parametry to: adres bazowy, przerwanie i kanał DMA (np. sjcd=0x340,10,5).

Plik urządzenia może być stworzony poleceniem:

> `

>     # mknod /dev/sjcd b 18 0

> `

Więcej informacji na temat tego sterownika znajdziesz w pliku `sjcd`.

### Sterownik bpcd.

    Autor główny:                   Grant R. Guenther (grant@torque.net)
    Obsługa wielosesyjności:        nie wiadomo
    Obsługa wielu napędów:          nie
    Obsługa ładowalnego modułu:     tak
    Czytanie ramek audio:           nie
    Automatyczne wykrywanie:        tak
    Plik urządzenia:                /dev/bpcd, major 41
    Plik konfiguracyjny:            bpcd.h
    Opcja konfiguracyjna dla jądra: MicroSolutions backpack CDROM support?
    Plik README:                    bpcd

Sterownik ten przyjmuje parametry w postaci:

> `

>     bpcd=<io-address>

> `

Parametr oznacza tu adres bazowy (np. bpcd=0x3bc).

Plik urządzenia można stworzyć poleceniem:

> `

>     # mknod /dev/bpcd b 41 0

> `

Sterownik ten jest zawarty w jądrach wersji 2.1. Więcej informacji na temat tego sterownika znajdziesz w pliku `bpcd`.

### Sterownik SCSI.

    Autor główny:                   David Giller
    Obsługa wielosesyjności:        tak (zależy od napędu)
    Obsługa wielu napędów:          tak
    Obsługa ładowalnego modułu:     tak
    Czytanie ramek audio:           nie
    Automatyczne wykrywanie:        tak
    Plik urządzenia:                /dev/scd0, major 11
    Plik konfiguracyjny:            cdrom.h
    Opcja konfiguracyjna dla jądra: SCSI CDROM support?
    Plik README:                    brak

Parametry podawane podczas startu są zależne od typu kontrolera SCSI. Więcej informacji znajdziesz w SCSI HOWTO.

Obsługiwana jest większa ilość sterowników (ilość ograniczona jest maksymalną ilością urządzeń na szynie SCSI). Stwórz pliki urządzeń z liczbą główną 11 i liczbą poboczną począwszy od 0:

> `

>     # mknod /dev/scd0 b 11 0
>     # mknod /dev/scd1 b 11 1

> `

Sterownik sam z siebie nie ma możliwości czytania cyfrowych ramek audio, ale niektóre napędy SCSI mają taką możliwość i będą działać z programem cdda2wav (który używa ogólnego interfejsu SCSI jądra).

### Sterownik idecd.

    Autor główny:                   Scott Snyder (snyder@fnald0.fnal.gov)
    Obsługa wielosesyjności:        tak
    Obsługa wielu napędów:          tak
    Obsługa ładowalnego modułu:     nie
    Czytanie ramek audio:           tak (w obsługiwanych napędach)
    Automatyczne wykrywanie:        tak
    Plik urządzenia:                /dev/hd{a,b,c,d},  major 22
    Plik konfiguracyjny:            cdrom.h
    Opcja konfiguracyjna dla jądra: Include support for IDE/ATAPI CDROMs?
    Plik README:                    ide-cd

Sterownik ten jest przeznaczony dla CD-ROM-ów ATAPI. Sterownik przyjmuje następujące parametry:

> `

>     hdx=cyls,heads,sects,wpcom,irq
>       lub
>     hdx=cdrom

> `

`hdx` może być jednym z: hda,hdb,hdc,hdd, albo po prostu hd i wtedy oznacza kolejny napęd. Tylko pierwsze trzy parametry są wymagane (cyls,heads,sects). Np. `hdc=1050,32,64 hdd=cdrom`.

Zmuszenie sterownika IDE, aby rozpoznał twój CD-ROM, może przysparzać trochę kłopotów, szczególnie jeśli masz więcej niż 2 urządzenia albo więcej niż 1 kontroler IDE. Zwykle wszystko co jest wymagane, to podać poprawne opcje z LILO. Szczegółówe informacje jak to zrobić znajdziesz w pliku `/usr/src/linux/Documentation/ide-cd`.
Przeczytaj go dokładnie.

Nowsze jądra mają lepszą obsługę dla większej ilości urządzeń IDE. Jeśli masz problemy ze starszym jądrem, to uaktualnienie może pomóc.

Niektóre kontrolery mają problemy sprzętowe, które sterownik może obejść. Możliwe, że musisz podać dodatkowe parametry sterownikowi, aby to umożliwić. Zajrzyj do dokumenctaji.

## 4.4 Startowanie jądra.

Możesz teraz wystartować system z nowym jądrem. Pilnuj czy nie pojawi się komunikat podobny do tego:

> `

>     hdd: NEC CD-ROM DRIVE:282, ATAPI CDROM drive

> `

który informuje, że CD-ROM został odnaleziony przez sterownik (komunikat będzie się różnił w zależności od napędu).

Jeśli komunikaty podczas startu pojawiają się zbyt szybko, to możesz do nich powrócić wciskając SHIFT-PgUp (jeśli nie przełączałeś konsol), albo wyświetlić je poleceniami `dmesg` lub `tail /var/adm/messages`.

Jeśli napęd nie może być odnaleziony, to jest problem. Zobacz sekcję na temat rozwiązywania problemów..

## 4.5 Montowanie, odmontowywanie i wyjmowanie urządzeń.

Aby zamontować CD-ROM, włóż płytę do napędu, i uruchom polecenie `mount` jako `root` (zakłąda się tutaj, że stworzyłeś symboliczne dowiązanie do twojego pliku urządzenia tak jak to było zalecane powyżej oraz że istnieje pusty katalog `/mnt/cdrom`):

> `

>     # mount -t iso9660 -r /dev/cdrom /mnt/cdrom

> `

Zawartość kompaktu znajduje się teraz w katalogu `/mnt/cdrom`.

Są jeszcze inne opcje dla polecenia mount, które możesz użyć; zobacz w podręczniku systemowym "man" mount(8).

Możesz dodać pozycję do pliku `/etc/fstab`, aby automatycznie montować CD-ROM podczas startu, albo żeby podać parametry jakie mają być użyte podczas montowania; zobacz w podręczniku systemowym "man" fstab(8).

Zauważ, że żeby odtwarzać płyty myzyczne nie powinieneś próbować ich montować.

Aby odmontować CD-ROM, użyj jako `root` polecenia `umount`:

> `

>     # umount /mnt/cdrom

> `

Płyta może być odmontowana tylko wtedy kiedy żaden proces nie żąda do niego dostępu (włączając w to przypadek, kiedy bieżącym katalogiem jest któryś z podkatalogów płyty lub jej katalog główny). Możesz potem wyjąć płytę. Większość napędów ma przycisk do wyjmowania płyt; Jest także osobny program służący do tego celu - eject.

Pamiętaj, że nie możesz wyjmować płyty podczas gdy jest ona zamontowana (to może lub nie być możliwe w zależności od rodzaju napędu jaki posiadasz). Niektóre sterowniki CD-ROM potrafią automatycznie wysuwać szufladkę jeśli płyta jest odmontowywana i wsuwać ją kiedy jest montowana (można wyłączyć tę funkcję podczas kompilacji albo przy pomocy programu).

Możliwe jest, że po słuchaniu płyty muzycznej nie będziesz mógł zamontować płyty. Musisz wysłać polecenie audio "stop" (przy pomocy jakiegoś programu do odtwarzania) przed próbą montowania. Problem ten wydaje się pojawiać tylko ze sterownikiem SBPCD.

Ostatnie wersje jądra 2.0 i 2.1 obsługują automounter oparty na jądrze, który dostarcza przeźroczyste dla użytkownika montowanie usuwalnych mediów włącznie z CD-ROM-em. Potrzebne narzędzia znajdziesz pod adresem ftp.icm.edu.pl.

## 4.6 Rozwiązywanie problemów.

Jeśli wciąż masz problemy po przejściu przez instalację wg. tego HOWTO, to tutaj jest kilka rzeczy, które należy sprawdzić. Punkty są umieszczone wg. narastającej złożoności. Jeśli któryś z nich zawiedzie, to rozwiąż ten problem zanim posuniesz się dalej.

### Krok 1: Upewnij się, że na pewno używasz nowoskompilowanego jądra.

Możesz sprawdzić datę jądra, aby zobaczyć czy jest to to z obsługą CD-ROM-u. Można to zrobić poleceniem `uname`:

> `

>     % uname -a
>     Linux fizzbin 2.0.18 #1 Fri Sep 6 10:10:54 EDT 1996 i586

> `

albo wyświetlając zawartość pliku `/proc/version`:

> `

>     % cat /proc/version
>     Linux version 2.0.18 (root@fizzbin) (gcc version 2.7.2) #1 Fri Sep 6 10:10:54 EDT 1996

> `

Jeśli data się nie zgadza, to masz cały czas stare jądro. Czy aby na pewno zresetowałeś komputer? Jeśli używasz LILO, czy przeinstalowałeś je (z reguły pisząc `/sbin/lilo`)? Jeśli startujesz z dyskietki, czy zrobiłeś nową dyskietkę i użyłeś jej podczas startu?

### Krok 2: Upewnij się, że odpowiednie sterowniki są wkompilowane

Sprawdzić to możesz wyświetlając zawartość pliku `/proc/devices`:

> `

>     % cat /proc/devices
>     Character devices:
>      1 mem
>      2 pty
>      3 ttyp
>      4 ttyS
>      5 cua
>      7 vcs

>     Block devices:
>      3 ide0
>     22 ide1

> `

Najpierw poszukaj sterownika swojego CD-ROM-u. Są to wszystko urządzenia blokowe, w tym przypadku widać, że obecny jest sterownik `idecd` z numerem głównym 22.

Upewnij się także, że wkompilowana jest obsługa systemu plików ISO-9660 przez wyświetlenie zawartości pliku `/proc/filesystems`:

> `

>     % cat /proc/filesystems
>             ext2
>             msdos
>     nodev   proc
>             iso9660

> `

Możesz też sprawdzić, które adresy I/O są używane przez sterownik zaglądając do pliku `/proc/ioports`:

> `

>     howto % cat /proc/ioports
>      ...
>     0230-0233 : sbpcd
>      ...

> `

Jeśli któryś ze sterowników, który myslałeś, że wkompilowałeś, się nie pojawia, to coś poszło nie tak z konfiguracją lub kompilacją jądra. Zacznij proces instalacji jeszcze raz począwszy od konfiguracji i kompilacji jądra.

### Krok 3: Czy jądro wykryło twój napęd podczas startu?

Upewnij się, że CD-ROM został wykryty podczas startu jądra. Powinieneś zobaczyć odpowiedni komunikat. Jeśli komunikat ten przesunął się poza ekran, to możesz go sprawdzić poleceniem `dmesg`.

> `

>     % dmesg

> `

lub

> `

>     % tail /var/adm/messages

> `

Jeśli twój napęd nie został zidentyfikowany, to coś jest nie tak. Upewnij się, że jest podłączony do prądu i że wszystkie kable są poprawnie podłączone. Jeśli twój napęd posiada zworki do przełączania zakresów adresów, to sprawdź czy są poprawnie ustawione (np. napęd 0 jeśli masz tylko jeden napęd). CD-ROM-y ATAPI muszą być ustawione jako "single" lub "master", a nie "slave" jeśli do interfejsu jest podłączone tylko jedno urządzenie. Jeśli napęd działa pod DOS-em, to jest pewne, że sprzęt działa.

Wiele sterowników używa automatycznego wykrywania, ale niektóre nie i wykrywanie to nie zawsze działa. Użyj parametrów startowych podanych dla twojego typu sterownika. Jeśli nie jesteś pewien co do adresów I/O czy innych parametrów, to popróbuj kilka razy. LILO może być (i zwykle jest) tak skonfigurowane, żeby przyjmować parametry wpisane ręcznie podczas startu.

Inna możliwość jest taka, że użyłeś złego sterownika. Czasami dokumentacja może odwoływać się do interfejsów własnych jako do IDE, myląc użytkownika, który myśli, że jego napęd jest ATAPI.

Jeszcz inna możliwość to: twój napęd (albo karta interfejsu) jest jedną z "kompatybilnych", która potrzebuje inicjalizacji przez sterownik DOS-owy. Spróbuj wystartować DOS-a i załadować sterownik dostarczony przez sprzedawcę. Potem zresetuj miękko przy pomocy klawiszy `Control-Alt-Delete`.

Jeśli twojego napędu nie ma w tym dokumencie, to możliwe jest, że po prostu nie ma sterownika pod Linux-a dla niego. Możesz sprawdzić w adresach podanych pod koniec tego dokumentu.

### Krok 4: Czy możesz czytać dane z napędu?

Spróbuj odczytać coś z CD-ROM-u. Przy następującym poleceniu światełko (jeśli je masz) powinno się zapalić i nie powinno być żadnych błędów. Upewnij się, że płyta jest włożona i użyj odpowiedniego dla siebie pliku urządzenia.

> `

>     # dd if=/dev/cdrom of=/dev/null bs=2048
>     ^C
>     124+0 records in
>     124+0 records out

> `

Jeśli to działa, to jądro porozumiewa się z napędem i możesz przejść do kroku 5.

Jeśli nie, to możliwą przyczyną jest plik urządzenia. Upewnij się, że plik urządzenia w katalogu `/dev` ma poprawne liczby główną i poboczną zgodnie z tym co był podane wcześniej dla twojego typu napędu. Sprawdź czy prawa dostępu pozwalają na odczyt i zapis.

Raczej mniej prawdopodobnym jest żebyś miał jakiś problem sprzętowy. Spróbuj potestować napęd pod DOS-em, jeśli to możliwe, żeby sprawdzić czy to mogłoby być przyczyną.

### Krok 5: Czy możesz zamontować napęd?

Jeśli możesz czytać z napędu, ale nie możesz go zamontować, to sprawdź najpierw czy wkompilowałeś obsługę systemu plików ISO-9660 wyświetlając zawartość pliku `/proc/filesystems` jak poprzednio.

Upewnij się, że montujesz napęd z opcjami "-t iso9660" i "-r" i że dobry i znany ci kompakt ISO-9660 (nie muzyczny) jest w napędzie. Normalnie musisz montować napęd jako użytkownik `root`.

Upewnij się, że katalog, do którego montujesz, istnieje i że jest pusty.

Jeśli CD-ROM jest montowany automatycznie podczas startu, to upewnij się, że masz poprawny wpis w pliku /etc/fstab.

Jeśli jest u ciebie uruchomiony syslog demon, to mogą być komunikaty o błędach pochodzące od jądra, których nie widzisz. Spróbuj użyć polecenia `dmesg`:

> `

>     % dmesg
>     SBPCD: sbpcd_open: no disk in drive

> `

W zależności od konfiguracji twojego systemu, błędy mogą być także zapisane w katalogu `/var/adm`.

### Sprawdzanie problemów audio.

Jeśli napęd działa z CD-ROM-ami, ale nie odtwarza płyt audio, oto kilka możliwych rozwiązań.

Potrzebujesz programu do odtwarzania płyt muzycznych. Niektóre z nich mogą być popsute, albp mogą nie współpracować z twoim napędem. Spróbuj użyć innych i/lub przekompilować je samemu. Dobrym miejscem do poszukania takich programów jest ftp.icm.edu.pl.

Kilka sterowników nie obsługuje odtwarzania płyt audio. Sprawdź plik README albo źródło sterownika czy to ten przypadek.

Sprawdź czy płytę słychać przez wejście słuchawkowe. Jeśli tak to problem leży tu raczej w twojej karcie muzycznej. Użyj programu miksującego, aby ustawić urządzenie wejściowe i poziom głośności. Upewnij się, że założyłeś kabel audio z napędu CD-ROM-u do karty muzycznej. Upewnij się, że sterownik do karty dźwiękowej działa (zobacz Sound-HOWTO dostępne po polsku).

### Kiedy wszystko inne zawiedzie.

Jeśli ciągle masz problemy to tutaj jest jeszcze kilka ostatnich rzeczy, których możesz spróbować:

- przeczytaj jeszcze raz dokładnie ten dokument.
- poczytaj odwołania wymienione pod koniec tego dokumentu, szczególnie odpowiednie pliki README dostarczane wraz ze źródłami jądra.
- wyślij zapytanie na grupę dyskusyjną `pl.comp.os.linux` albo jakąś inną związaną z Linux-em.
- wyślij zapytanie na listę dyskusyjną o Linux-ie (w przypadku Polski lista dyskusyjna jest połączona z grupą dyskusyjną)
- spróbuj użyć najnowszej wersji jądra.
- skontaktuj się ze swoim sprzedawcą.
- skontaktuj się z producentem CD-ROM-u.
- wyślij list do opiekuna twojego sterownika (sprawdź w pliku `/usr/src/linux/MAINTAINERS`)
- przyślij list do mnie.
- odpal emacs-a i wpisz `Esc-x doctor` :-)

## 5. Aplikacje.

W sekcji tej znajdują się niektóre aplikacje związane z CD-ROM-ami dostępne pod Linux-a. Najnowsze informacje na temat archwiów oprogramowania znajdziesz w "Linux Software Map".

## 5.1 Odtwarzacze płyt muzycznych.

Jest kilka programów umożliwiających słuchanie płyt muzycznych zarówno poprzez wyjście słuchawkowe jak przez kartę muzyczną.

Workman

  - graficzna odtwarzarka pod X11, z bazą kompaktów i wieloma innymi funkcjami.

WorkBone

  - interaktywna odtwarzarka tekstowa.

xcdplayer

  - prosta odtwarzarka pod X11.

cdplayer

  - bardzo prosta odtwarzarka obsługiwana z linii poleceń.

Xmcd

  - odtwarzarka pod X11 napisana dla Motif-a

xmitsumi

  - inna odtwarzarka pod X11 dla napędów Mitsumi

xplaycd

  - inna odtwarzarka pod X11 połączona z mikserem dźwięku i programem do pomiaru VU.

cdtool

  - narzędzia obsługiwane z linii poleceń do odtwarzania płyt audio.

Niektóre z tych programów są zaprogramowane, aby używać konkretnego urządzenia dla CD-ROM-u (np. `/dev/cdrom`). Możliwe, że możesz podać prawidłowe urządzenie jako parametr, albo możesz stworzyć symboliczne dowiązanie w katalogu `/dev`. Jeśli wysyłasz wyjście do karty muzycznej, to możliwe, że chcesz użyć miksera, aby ustawić głośność, albo żeby podać wejście z kompaktu, żeby coś nagrać.

## 5.2 PhotoCD.

Płyty PhotoCD używają systemu plików ISO-9660 zawierający pliki z obrazami we własnym formacie. Nie wszystkie napędy CD-ROM pozwalają na czytanie w tym formacie.

Program Hadmuta Danischa - `hpcdtoppm` - zamienia pliki PhotoCD na przenośny format pixmap. Można go ściągnąć z ftp.gwdg.de albo jako część narzędzi PBM (Portable Bit Map) dostępnych w wielu archiwach (poszukaj "pbm" lub "netpbm").

Program `photocd` Gerda Knorra kraxel@cs.tu-berlin.de może zamieniać obrazy PhotoCD w pliki Targa lub bitmapy Windows i OS/2.

Ten sam autor napisał program `xpcd` pod X11 obsługujący obrazy PhotoCD. Możesz wybrać obraz myszką, zobaczyć widok roboczy w małym okienku i załadować go w pięciu możliwych rozdzielczościach. Możesz także zaznaczyć część obrazu i załadować tylko tę zaznaczoną część. Pakietów tych możesz poszukać w ftp.cs.tu-berlin.de.

Program do obróbki obrazów ImageMagic także obsługuje pliki PhotoCD. Jest dostępny z ftp.x.org

## 5.3 Mkisofs.

Pakiet `mkisofs` Erica Youngdale'a pozwala tworzyć system plików ISO-9660 na partycjach twardego dysku. Może to być wykorzystane później przy sprawdzaniu systemu plików CD-ROM-u przed zapisaniem go na płytę.

Narzędzia dla właściwego zapisu danych na nagrywarkach są raczej specyficzne dla danego sprzedawcy. Wymagają także zapisu danych bez przerywania, tak że wielozadaniowy system taki jak Linux nie jest dobrym wyborem.

## 5.4 Narzędzia ISO-9660.

Są pewne narzędzia służące do weryfikowania kompaktu sformatowanego na ISO-9660; możesz ich użyć do sprawdzania podejrzanych płyt. Pakiet można znaleźć na ftp.cdrom.com. Napisane zostały przez Billa Siegmunda i Richa Morina.

## 6. Odpowiedzi na często zadawane pytania.

## 6.1 Jak inny użytkownik niż root może montować i odmontowywać płyty?

Większość poleceń `mount` posiada opcję user. Jeśli zrobisz taką pozycję w `/etc/fstab`:

> `

>     /dev/sbpcd  /mnt/cdrom   iso9660     user,noauto,ro

> `

to zwykły użytkownik będzie mógł zamontować i odmontować płytę poleceniami:

> `

>     % mount /mnt/cdrom
>     % umount /mnt/cdrom

> `

Płyta zostanie zamontowana z pewnymi opcjami, które zwiększają bezpieczeństwo (np. programy nie mogą być wykonywane, pliki urządzeń są ignorowane); w niektórych przypadkach może to być zbyt rygorystyczne.

Inną metodą jest zdybycie pakietu `usermount`, który pozwala użytkownikom innym niż root montować i odmontowywać urządzenia wyjmowalne takie jak dyskietki i CD-ROM-y, ale zmniejsza dostęp do innych urządzeń (takich jak partycje twardych dysków). Dostępny jest na większości serwerów ftp.

Pod adresem `ftp.cdrom.com` znajduje się plik źródłowy `mount.c`, który pozwala na montowanie i odmontowywanie CD-ROM-ów (tylko) przez normalnych użytkowników. Uruchamiany jest z prawami root-a.

## 6.2 Dlaczego dostaję komunikat "device is busy" kiedy odmontowuję CD-ROM?

Płyta nie może być odmontowana jeśli jakikolwiek proces żąda do niej dostępu, włącznie z przypadkiem kiedy bierzącym katalogiem jest któryś z podkatalogów płyty lub jej katalog główny. Jeśli nie możesz znaleźć procesu używającego płytę, to możesz użyć polecenia `fuser` tak jak to pokazano poniżej:

> `

>     % umount /cdrom
>     umount: /dev/hdd: device is busy
>     % fuser -v /cdrom
>                          USER       PID ACCESS COMMAND
>     /mnt/cdrom           tranter    133 ..c..  bash

> `

Na niektórych systemach możliwe, że musisz być root-em, żeby uruchomić polecenie `fuser`, żeby zobaczyć procesy innych użytkowników.

## 6.3 Jak mam eksportować CD-ROM dla innych komputerów przez NFS?

Musisz dodać pozycję do pliku `/etc/exports`. Wtedy użytkownicy na tamtej maszynie będą mogli zamontować to urządzenie. Szczegóły znajdziesz w poleceniu "man 5 exports".

## 6.4 Czy mogę startować Linux-a z CD-ROM-u?

Przy instalacji Linux-a najpopularniejszą metodą jest użycie dyskietki startowej. Niektóre dystrybucje pozwalają na start Linux-a bezpośrednio z płyty.

Michael Fulbright ( msf@redhat.com) zgłosił, że jeśli posiada się dobry CD-ROM, ROM BIOS i napęd CD-ROM ATAPI, to jest możliwe startowanie z płyty. Najnowsza wersja `mkisofs` także obsługuje tworzenie takich dysków. Dodał on jakieś łaty do obsługi standardu El Torito dla startowalnych CD-ROM-ów.

## 6.5 Jak mogę przeczyta dane cyfrowe z płyty muzycznej?

Heiko Eissfeldt ( heiko@colossus.escape.de) i Olaf Kindel napisali narzędzie, które czyta dane audio i zachowuje je jako pliki dźwiękowe w formacie `.wav`. Pakiet nazywa się `cdda2wav.tar.gz` i można go pobrać z `ftp.icm.edu.pl`.

Ponieważ napędy CD-ROM zmieniają się bardzo szybko, trudno jest powiedzieć które modele obsługują czytanie danych cyfrowych. Najlepiej zdobyć najnowszy pakiet `cdda2wav` i przeczytać zawartą tam dokumentację.

Więcej informacji na ten temat znajdziesz na stronie www.tardis.ed.ac.uk oraz w FAQ grupy alt.cd-rom wymienionym w referencjach.

## 6.6 Dlaczego polecenie find nie działa?

Jeśli używasz tego polecenia na kompakcie w formacie ISO-9660 bez Rock Ridge Extensions, to musisz dodać opcję `-noleaf`. Więcej szczegółów w poleceniu "man find".

(Z moich doświadczeń wynika, że prawie wszystkie nowsze płyty Linux-a używają Rock Ridge Extensions, więc ten problem powinien występować bardzo rzadko.)

## 6.7 Czy Linux obsługuje jakieś nagrywarki?

Pakiet X-CD-Roast jest graficznym interfejsem do obsługi nagrywarek CD. Pakiet można znaleźć na ftp.icm.edu.pl w kataloogu `/pub/Linux/sunsite/utils/disk-management/`.

Zobacz także "Linux CD-Writing HOWTO" pod adresem www.jtz.org.pl dostępne w języku polskim.

## 6.8 Dlaczego pojawia się taki komunikat "mount: Read-only file system when mounting a CD-ROM"?

CD-ROM jest nośnikiem tylko do odczytu. We wcześniejszych wersjach jądra można było zamontować płytę CD do zapisu i odczytu, ale zapis był po prostu ignorowany. Od wersji 1.1.33 zostało to poprawione i CD-ROM-y muszą być montowane tylko-do-odczytu (np. z opcją -r).

## 6.9 Dlaczego wysuwa mi się szufladka kiedy zamykam system?

Od wersji jądra 1.1.38, sterownik sbpcd wysuwa szufladkę kiedy płyta jest odmontowywana. Jeśli zamykasz system, to zamontowana płyta zostanie odmontowana i szufladka wysunięta.

Funkcja ta ma pomóc przy zmianie płyt. Jeśli szufladka jest wysunięta, to przy próbie odczytu lub zamontowania zostanie zamknięta automatycznie.

Stwierdziłem, że to powoduje problemy z niektórymi programami (np. cdplay i workbone). Od wersji 1.1.60 jądra można tę funkcję kontrolować programowo. Przykładowy program zawarty jest w dokumentacji do sterownika sbpcd programu (albo użyj eject).

## 6.10 Mam "specjalny" kompakt, którego nie można zamontować?

Ten specjalny kompakt to pewnie płyta XA (jak wszystkie PhotoCD czy "one-offs" stworzone przy użyciu nagrywarek). Większość sterowników CD-ROM-ów nie obsługuje płyt XA, chociaż może znajdziesz gdzieś jakąś łatę, która dodaje obsługę takich płyt.

Sterownik sbpcd obsługuje XA. Jeśli używasz tego sterownika, to możesz sprawdzić czy płyta jest XA w ten sposób: otwórz plik sbpcd.c i włącz wyświetlanie "Table of Contents" (DBG_TOC). Skompiluj i zainstaluj nowe jądra i wystartuj je. Podczas każdego montowania TOC będzie wyświetlane na konsoli, albo logowane do pliku). Jeśli pierwszą wartością w TOC jest 20, to jest to płyta XA. Bajt ten ma wartość 00 w normalnych płytach. Jeśli TOC pokazuje różne ścieżki, to jest to także znak, że jest to płyta XA.

(dzięki dla Eberharda Moenkeberga za powyższą informację)

Innymi możliwościami dla nieodczytywalnych CD-ROM-ów są:

1. Płyta nie używa systemu plików ISO-9660 (np. niektóre używają SunOS lub HFS).
2. Jest to płyta muzyczna.
3. Włożyłeś ją do napędu "do góry nogami" :-)

## 6.11 Czy wielopłytowe napędy CD-ROM działają z Linux-em?

Kilku użytkowników zgłosiło, że osiągnęło jakieś sukcesy z wielopłytowymi napędami CD-ROM SCSI. Musisz przypuszczalnie włączyć opcję "Probe all LUNs on each SCSI device" przy konfiguracji jądra. Przynajmniej jeden użytkownik musiał także zwiększyć wartość oczekiwania (timeout) dla SCSI w sterowniku. Zgłoszono mi, że Nakamichi MBR-7 7 i Pioneer 12 działają.

Dostępne są także napędy wielopłytowe EIDE/ATAPI. Jądro w wersji 2.0 ma szczątkową obsługę dla napędów korzystających z funkcji ioctl CDROM_SELECT_DISC. Plik z dokumentacją do sterownika IDE-CD zawiera źródła krótkiego programu do wybierania kompaktów, albo możesz użyć nowszej wersji opisanego wcześniej programu `eject`.

## 6.12 Dostaję błędy: "/cdrom: Permission denied"

Niektóre płyty mają tak ustawione prawa dostępu do swojego głównego katalogu, że tylko użytkownik root może go czytać. Przykładem może tutaj być płyta InfoMagic z marca 1995. Jest to wyraźna niedogodność.

Następująca łata, grzeczność ze strony Christopha Lametera ( clameter@waterf.org) obchodzi ten problem w jądrze.

    From: clameter@waterf.org (Christoph Lameter)
    Newsgroups: comp.os.linux.setup
    Subject: InfoMagic Developers Set: Fix for CD-ROM permissions
    Date: 12 Apr 1995 20:32:03 -0700
    Organization: The Water Fountain - Mining for streams of Living Water
    NNTP-Posting-Host: waterf.org
    X-Newsreader: TIN [version 1.2 PL2]

    Zbiór płyt "InfoMagic Developers" z marca 1995 ma błędy ponieważ
    informacja o prawach dostępu zapisana w katalogu głównym przysparza
    następujących problemów:

    1. Płyta 1 będzie zawsze miała właściciela/grupę 5101/51 i ma
    dozwolony zapis (?)

    2. Płyta 2 i 3 mają ustawione prawa rwx dla root-a i żadnych praw dla
    innych użytkowników/grupy. Płyty tej nie można odczytać z innego
    użytkownika niż root! Mam uruchomionego BBS-a i muszę je udostępnić do
    zgrywania dla innych.

    Widziałem już gdzieś tam kilka poprawek do tego. Jednak kłopot w tym,
    że poprawki te zmieniają prawa dla WSZYSTKICH katalogów na płycie. Ta
    poprawka zmienia TYLKO prawa dostępu do katalogu głównego płyty. Jeśli
    chcesz uruchamiać części Linux-a bezpośrednio z tej płyty to możesz
    wpaść w kłopoty jeśli wszystkie katalogi są czytelne dla wszystkich i
    jeśli właścicielem wszystkich jest root.

    Poprawka ta zmieni prawa dostępu dla katalogu głównego na r-xr-xr-x i
    właściciela/grupę na wartości odpowiadające opcjom uid i gid polecenia
    mount.

    Aby założyć poprawkę:
     cd /usr/src/linux/fs/isofs
     patch <**TEN LIST**

    i skompiluj ponownie jądro (możliwe, że musisz poprawić trochę tę
    poprawkę w zależności od wersji twojego jądra).

    Poprawka ta powinna się przypuszczalnie znaleźć w jądrze. Jaki interes
    mają dane na płycie w grzebaniu prawami/właścicielem katalogu do
    zamontowania?

    --- inode.c.ORIG        Wed Apr 12 17:24:36 1995
    +++ inode.c     Wed Apr 12 17:59:12 1995
    @@ -552,7 +552,15 @@
        these numbers in the inode structure. */

            if (!high_sierra)
    -         parse_rock_ridge_inode(raw_inode, inode);
    +       {  parse_rock_ridge_inode(raw_inode, inode);
    +           /* check for access to the root directory rights/owner CL */
    +          if((inode->i_sb->u.isofs_sb.s_firstdatazone) == inode->i_ino)
    +           { /* Change owner/rights to the ones demanded by the mount command */
    +             inode->i_uid = inode->i_sb->u.isofs_sb.s_uid;
    +             inode->i_gid = inode->i_sb->u.isofs_sb.s_gid;
    +            inode->i_mode = S_IRUGO | S_IXUGO | S_IFDIR;
    +           }
    +        }

     #ifdef DEBUG
            printk("Inode: %x extent: %x\n",inode->i_ino, inode->u.isofs_i.i_first_extent);
    @@ -805,4 +813,3 @@
     }

     #endif
    -

Zauważ, że powyższa łata jest raczej stara i przypuszczalnie nie zainstaluje się gładko w jądrze wersji 2.0. Zobacz także pytanie na temat plików ukrytych w dalszej części tego dokumentu.

## 6.13 Jak mam interpretować komunikaty o błędach IDE CD?

Co to znaczy jak otrzymam komunikat o błędzie od sterownika CD-ROM-u - np. taki: "hdxx: code: xx key: x asc: xx ascq: x"?

To jest komunikat o statusie/błędzie od napędu IDE CD-ROM. Domyślnie sterownik IDECD wypisuje informacje otrzymane przez napęd bez "zawracania jądru głowy". Możesz zmienić to domyślne zachowanie, aby wyświetlał właściwy komunikat o błędzie, przez zmianę wartości VERBOSE_IDE_CD_ERRORS w pliku `/usr/src/linux/drivers/block/ide-cd.c` na 1 i rekompilację jądra.

## 6.14 Jak mogę powiedzieć jaką prędkość ma mój CD-ROM?

Oto jeden sposób. Polecenie to mierzy jaki czas przeznaczony jest na odczytanie 1500K danych z płyty:

> `

>     % time -p dd if=/dev/cdrom of=/dev/null bs=1k count=1500
>     1500+0 records in
>     1500+0 records out
>     real 5.24
>     user 0.03
>     sys 5.07

> `

Prędkość CD-ROM-u o pojedynczej prędkości wynosi 150 kb na sekundę, co powinno zabrać około 10 sekund. Przy prędkości podwójnej zabrałoby to 5 sekund, przy czterokrotnej - 2,5, itd...

Czas "real" powyżej jest przypuszczalnie tym, na który należy patrzeć - w tym przypadku jest to CD-ROM podwójnej prędkości. Możesz zwiększyć ilość danych, aby otrzymać bardziej dokładną wartość (w razie gdybyś pytał, to te dane nie są cache'owane). Przypuszczalnie powinieneś uruchomić to polecenie kilka razy i wziąć średnią z nich wszystkich.

## 6.15 Mój CD-ROM przestał działać odkąd zainstalowałem Linux-a.

Zwykłym symptomem jest to, że dysk startowy użyty do instalacji rozpoznał twój CD-ROM, ale po tym jak Linux został zainstalowany na dysku twardym czy dyskietce i zrestartowany - przestał rozpoznawać twój napęd.

Najpopularniejszym powodem jest tutaj fakt, że w niektórych dystrybucjach jądro instalowane nie zawsze jest tym samym jądrem, które znajduje się na twojej dyskietce startowej. Wybrałeś dyskietkę, która obsługiwała twój CD-ROM, podczas gdy jądro, które zainstalowałeś, jest jądrem "ogólnym" i nie ma w nim obsługi CD-ROM-u. Możesz to sprawdzić postępując zgodnie ze wskazówkami zawartymi w sekcji Rozwiązywanie problemów wcześniej w tym dokumencie (np. zacznij od sprawdzenia `/proc/devices`).

Rozwiązaniem jest ponowna kompilacja jądra, upewniając się jednocześnie, że wszystkie sterowniki jakie potrzebujesz są włączone. Zobacz Kernel-HOWTO (po polsku) jeśli nie wiesz jak to zrobić.

Jeśli przekazałeś jakieś parametry startowe do dyskietki (np. "hdc=cdrom"), to musisz je dodać do konfiguracji twojego programu startującego (zwykle jest to plik /etc/lilo.conf).

## 6.16 Na płycie są "ukryte" plik, których nie mogę odczytać.

Niektóre płyty posiadają pliki z ustawionym bitem "hidden". Normalnie nie można zobaczyć tych plików. Jeśli zamontujesz płytę z opcją "unhide", to wtedy pliki te powinny być dostępne (jakoś nie widać, żęby to było gdziekolwiek udokumentowane).

## 6.17 Gdzie jest udokumentowane CD-ROM API?

Jeśli chcesz napisać własną aplikację, jak np. odtwarzarka audio, to będziesz musiał zrozumieć API - interfejs programowana aplikacji (application programming interface).

Oryginalnie sterownik CD-ROM-u używał swojej własnej funkcji ioctl(), aby obsłużyć funkcje specyficzne dla każdego napędu. Pliki nagłówkowe takie jak `/usr/include/linux/sbpcd.h` opisują je. Ponieważ wiele sterowników bazowało na innych sterownikach, interfejsy, jeśli nie są identyczne, to mają wiele wspólnego.

Ostatnio powstała inicjatywa ustandaryzowania interfejsu dla napędów CD-ROM kierowana przez Davida van Leeuwena ( david@tm.tno.nl). Polega ona na umieszczeniu ogólnego kodu w jednym miejscu i upewnieniu się, że wszystkie sterowniki zachowują sie tak samo Jest to udokumentowane w pliku `/usr/src/linux/Documentation/cdrom/cdrom-standard.tex`. Kilka sterowników to obsługuje. Spodziewam się, że w następnej głównej wersji jądra (3.0?) wszyskie sterowniki CD-ROM-ów dostosują się do tego API.

Moja książka, Linux Multimedia Guide, poświęca o wiele więcej miejsca tematowi programowania CD-ROM-ów, szczególnie jeśli chodzi o funkcje audio. Zobacz na koniec sekcji Referencje.

## 6.18 Dlaczego nie widzę długich nazw na CD-ROM-ach z Windows-ów?

Jeśli masz CD-ROM, który ma długie nazwy pod Windows, ale nie pod Linux-em, może on być zformatowany do Microsoft-owego systemu plików Joliet. Rozwiązanie znajdziesz w odpowiedzi na następne pytanie.

## 6.19 Czy obsługiwany jest Microsoft-owy system plików Joliet?

Microsoft stworzył rozszerzenie do formatu ISO CD-ROM o nazwie Joliet. W czasie pisania obsługa dla Joliet była w trakcie opracowywania; łaty były dostępne z adresu url url="http://www-plateau.cs.berkeley.edu/people/chaffee/joliet.html"> lub ftp://www-plateau.cs.berkeley.edu/pub/multimedia/linux/joliet/.

## 7. Referencje.

Wspomniałem już o plikach README, zwykle zainstalowanych w `/usr/src/linux/Documentation/cdrom`. Mogą być one "kopalnią złota" jeśli chodzi o informacje.

Następujące dokumenty FAQ są okresowo wysyłane na grupę dyskusyjną news.answers i archiwizowane w takich miejscach w Internecie jak rtfm.mit.edu:

- SCSI-HOWTO
- Hardware-HOWTO
- Sound-HOWTO (po polsku)
- Kernel-HOWTO (po polsku)
- Distribution-HOWTO
- CD-Writing-HOWTO (po polsku)

Przynajmniej tuzin firm sprzedaje dystrybucje Linux-a na CD-ROM-ach; większość z nich jest podana w Distribution HOWTO.

Następujące grupy dyskusyjne mają coś wspólnego z CD-ROM-ami:

- comp.publish.cdrom.hardware
- comp.publish.cdrom.multimedia
- comp.publish.cdrom.software
- comp.sys.ibm.pc.hardware.cd-rom
- alt.cd-rom
- alt.cd-rom.reviews
- pl.comp.os.linux - polskojęzyczna grupa dotycząca Linux-a w ogólności

Dobrym źródłem informacji są także grupy `comp.os.linux`.

Duże archiwum informacji z CD-ROM-ów jest na ftp.cdrom.com.

[Od tłumacza.] W Polsce polecam wspomniane już wcześniej ftp.icm.edu.pl.

Dokument FAQ na temat urządzeń IDE i ATA można zanleźć pod adresem rtfm.mit.edu oraz www.seagate.com.

Western Digital- firma, która zapoczątkowała protokół IDE - ma informacje na temat tego protokołu na swoim serwerze ftp.

Stronę WWW poświęconą multimediom można także znaleźć na viswiz.gmd.de. Creative Labs ma swoją stronę pod adresem www.creaf.com.

W Linux Documentation Project powstało kilka książek na temat Linux-a, włączając Linux Installation and Getting Started. Są one dostępne za darmo poprzez anonimowane FTP z większości archiwów Linux-owych albo można je otrzymać w formie trwałej.

Linux Software Map (LSM), czyli mapa oprogramowania pod Linux-a jest nieocenionym źródłem. LSM można znaleźć na różnych serwerach ftp włącznie z ftp.icm.edu.pl.

Lista dyskusyjna na temat Linux-a ma kilka "kanałów" poświęconych różnym tematom. Aby się dowiedzieć jak się dołączyć, wyślij list ze słowem "help" w treści na adres majordomo@vger.rutgers.edu. (Zauważ, że podczas pisania tego dokumentu listy te były porządnie przeciążone i szukano jakiegoś miejsca zastępczego.)

Na koniec bezwstydna reklama: Jeśli chcesz się dowiedzieć o wiele więcej na temat multimediów pod Linux-em (szczególnie na temat aplikacji i programowania CD-ROM-ów i kart muzycznych), zobacz moją książkę Linux Multimedia Guide, ISBN 1-56592-219-0, wydaną przez O'Reilly and Associates. Tak jak oryginalna wersja angielska, w druku są wersje francuska i japońska. Po szczegóły zadzwoń 800-998-9938 w Północnej Ameryce, albo sprawdź adres www.ora.com albo moją stronę domową www.pobox.com.

## 7.1 Od tłumacza.

Tłumaczenie to jest chronione prawami autorskimi © Bartosza Maruszewskiego. Dozwolone jest rozprowadzanie i dystrybucja na prawach takich samych jak dokument oryginalny.

Jeśli znalazłeś jakieś rażące błędy ortograficzne, gramatyczne, składniowe, techniczne to pisz do mnie:

B.Maruszewski@jtz.org.pl

Oficjalną stroną tłumaczeń HOWTO jest http://www.jtz.org.pl/

Aktualne wersje przetłumaczonych dokumentów znajdują się na tejże stronie. Dostępne są także poprzez anonimowe ftp pod adresem ftp.jtz.org.pl w katalogu `/JTZ/`.

Przetłumaczone przeze mnie dokumenty znajdują się także na mojej stronie WWW. Są tam też odwołania do Polskiej Strony Tłumaczeniowej.

Kontakt z naszą grupą, grupą tłumaczy możesz uzyskać poprzez listę dyskusyjną jtz@jtz.org.pl. Jeśli chcesz sie na nią zapisać, to wyślij list o treści `subscribe jtz Imię Nazwisko` na adres `majordomo@ippt.gov.pl`

Zmiany w tym dokumencie wprowadzone przez tłumacza to:

- cofnięcie ekranu SHIFT-PgUp
- info o polskiej liście i grupie dyskusyjnej.