SVN: PLD-doc/book/pl_book__kernel-urzadzenia/pl_kernel-urzadzenia__moduly.sec
qwiat
qwiat w pld-linux.org
Czw, 27 Wrz 2007, 02:13:42 CEST
Author: qwiat
Date: Thu Sep 27 02:13:42 2007
New Revision: 8758
Modified:
PLD-doc/book/pl_book__kernel-urzadzenia/pl_kernel-urzadzenia__moduly.sec
Log:
- skrocenie i przeredagowanie opisu
Modified: PLD-doc/book/pl_book__kernel-urzadzenia/pl_kernel-urzadzenia__moduly.sec
==============================================================================
--- PLD-doc/book/pl_book__kernel-urzadzenia/pl_kernel-urzadzenia__moduly.sec (original)
+++ PLD-doc/book/pl_book__kernel-urzadzenia/pl_kernel-urzadzenia__moduly.sec Thu Sep 27 02:13:42 2007
@@ -32,20 +32,18 @@
<section id="kernel-urzadzenia_moduly_odnalezienie">
<title>Załadowanie wlasciwego modulu dla urzadzenia</title>
<para>
- Istenieje dwie główne metody załadowania modułów:
+ Istenieje dwie metody załadowania modułów:
<itemizedlist>
<listitem>
<para>
- statyczne wskazanie modułów
- do załadowania - tradycyjna metoda,
- zastępowana obecnie przez udev
+ <emphasis>statyczna</emphasis> - metoda tradycyjna,
+ polega na wskazanie modułów do załadowania przez
+ administratora
</para>
</listitem>
<listitem>
<para>
- automatyczne ładowanie za pomocą
- mechanizmu udev - w pełni automatyczny
- proces ładowania modułów
+ <emphasis>dynamiczna</emphasis> - automatyczne ładowanie modułów, kiedy urządzenie zostaje wykryte
</para>
</listitem>
</itemizedlist>
@@ -53,24 +51,45 @@
</para>
</section>
<section id="kernel-urzadzenia_moduly_konfiguracja">
- <title><filename>/etc/modprobe.conf</filename> - konfiguracja modułów</title>
- <para>Plik jest rozszerzeniem pliku <filename>/etc/modules</filename> i ma on bardzo dużo opcji. Dlatego po szerszą lekturę zapraszam do <command>man</command>, a w tym tekście omówię tylko niewielki fragment możliwości konfiguracji. Warto dodać iż we wcześniejszych wersjach kernela ( < 2.6.0) plik nazywał się <filename>/etc/modules.conf</filename>.</para>
- <para>Jeżeli masz jądro dystrybucyjne i działa ci sieć to w <filename>modprobe.conf</filename> masz wpisy do konfiguracji karty sieciowej. Moja karta jest na układzie <literal>8139 firmy Realtek </literal> i jest jedyną w tym komputerze. By była ładowana i usuwana z systemu przez skrypty interfaces (będą omówione w tym dokumencie) należy dokonać wpisu o następującej treści</para>
+ <title>Konfiguracja modułów</title>
+ <para>
+ Plik <filename>/etc/modprobe.conf</filename> jest przeznaczony do
+ ustawiania opcji dla ładowanych modułów. Warto dodać iż we wcześniejszych
+ wersjach kernela ( < 2.6.0) plik nazywał się
+ <filename>/etc/modules.conf</filename>. W pliku mamy dostępnych wiele opcji,
+ my omówimy tylko najczęściej używane: <literal>alias</literal>,
+ <literal>option</literal> i <literal>blacklist</literal>.
+ </para>
+ <para>
+ <emphasis>Aliasy</emphasis> - są to dodatkowe nazwy dla modułów,
+ pozwalają na wczytanie go odwołując się do aliasu. Z aliasów korzysta wiele
+ programów, które nie mogą wiedzieć z jakiego modułu mają korzystać
+ i używają ustalonych nazw (aliasów) np.:
<screen>alias eth0 8139too</screen>
- <para> do <filename>/etc/modprobe.conf</filename>. Dzięki tej linijce wszelkie odwołania przy ładowaniu modułów np.</para>
- <screen>modprobe eth0</screen>
- <para>załadują automatycznie moduł <filename>8139too</filename>. W przypadku posiadania drugiej karty sieciowej należy postępować analogicznie (zamienić eth0 na eth1).</para>
- <para>Jeżeli myślisz, że to trochę bez sensu, to się mylisz. Przypuśćmy, że masz komputer z dwoma kartami sieciowymi. Pewnego pięknego dnia jedna z nich uległa uszkodzeniu i musisz ją wymienić. Wszystko ładnie wymieniasz, podpinasz kabelek i startujesz komputer. Ponieważ miałeś w kompilowane wszystko w jądro (pech chciał że masz inną kartę która nie jest w kompilowana), to musisz je przekompilować na nowo. Wszystko poszło ładnie, kernel wystartował i wykrył kartę no ale masz teraz pierwszą starą kartę jako drugą, a nową jako pierwszą (sytuacja hipotetyczna ale możliwa). Taką sytuacje można rozwiązać przesyłając parametry do kernela przy uruchamianiu systemu lub zmieniając ustawienia tam, gdzie masz odwołania do kart. Dobra. A teraz mała reklama modułów. Masz sytuację podobną powyższej i rozwiązujesz ją następująco (zwłaszcza jak masz serwer z możliwością wymiany kart bez jego wyłączania). Karta jest na swoim miejscu i przystępujemy do jej uruchomienia. Po dowiedzeniu się j
aki moduł ją obsługuje zaglądamy do <filename>/etc/modprobe.conf</filename> i zmieniamy linijkę</para>
- <screen>alias ethX moduł_starej_karty</screen>
- <para>gdzie X jest numerem interfejsu na</para>
- <screen>alias ethX moduł_nowej_karty</screen>
- <para>Po tych operacjach wystarczy uruchomić na nowo interfejs i mamy działającą sieć tak samo jak przed awarią.</para>
- <para>Często używa się możliwości przesłania do modułu ustawień. Przedstawię to na przykładzie drukarki podpiętej do portu lpt.</para>
- <screen>alias parport_lowlevel parport_pc
-options parport_pc io=0x378, irq=7</screen>
- <para>W tym fragmencie pliku <filename>/etc/modprobe.conf</filename> widzimy już znany <literal>alias</literal> z tym, że w trochę innej formie. Ponieważ występuje tu <literal>nazwa_jednego_modułu i nazwa_drugiego_modułu</literal>. Oznacza to, że jak będzie potrzeby moduł <literal>parport_lowlevel</literal>, to zostanie też automatycznie załadowany moduł <literal>parport_pc</literal>. Natomiast druga przedstawiona linijka przesyła jako parametr do modułu <literal>parport_pc</literal> argumenty we/wy i przerwania. Więcej informacji można uzyskać po wydaniu polecenia <command>modinfo parport_pc</command>. Należy zaznaczyć, że moduły te nie są automatycznie ładowane przy starcie. Jeżeli chcesz by były, to należy dopisać je (w tym wypadku jeden <literal>parport_pc</literal>) do pliku <filename>/etc/modules</filename>. W tym konkretnym wypadku jednak nie ma takiej potrzeby, ponieważ moduł ten jest ładowany, jeśli jest potrzebny (przy próbie drukowania).</para>
- </section>
-
-
+ Dzięki tej linijce wszelkie odwołania przy ładowaniu modułów
+ załadują automatycznie moduł <filename>8139too</filename>.
+ <screen>alias parport_lowlevel parport_pc</screen>
+ W tym fragmencie pliku <filename>/etc/modprobe.conf</filename>
+ widzimy już znany <literal>alias</literal> z tym, że w trochę innej
+ formie. Ponieważ występuje tu <literal>nazwa_jednego_modułu i
+ nazwa_drugiego_modułu</literal>. Oznacza to, że jak będzie potrzeby
+ moduł <literal>parport_lowlevel</literal>, to zostanie też automatycznie
+ załadowany moduł <literal>parport_pc</literal>.
+ </para>
+ <para>
+ <emphasis>Opcje</emphasis> - często używa się możliwości przesłania
+ do modułu ustawień. Przedstawię to na przykładzie drukarki podpiętej
+ do portu LPT:
+ <screen>options parport_pc io=0x378, irq=7</screen>
+ Linijka przesyła jako parametr do modułu <literal>parport_pc</literal>
+ argumenty we/wy i przerwania. Więcej informacji o dostępnych opcjach modułu
+ można uzyskać po wydaniu polecenia <command>modinfo parport_pc</command>.
+ </para>
+ <para>
+ <emphasis>Czarna lista</emphasis> - możemy zabronić ładowania
+ jakiegoś modułu za pomocą słowa kluczowego <literal>blacklist</literal> np.:
+ <screen>blacklist rivafb</screen>.
+ </para>
+ </section>
</section>
Więcej informacji o liście dyskusyjnej pld-doc