[svn/pld-doc]: rev 174 - in pld-doc/book: . pl_book__konfiguracja

averne w svn.pld-dc.org averne w svn.pld-dc.org
Nie, 4 Sty 2004, 21:52:28 CET


Author: averne
Date: 2004-01-04 21:52:27 +0100 (Sun, 04 Jan 2004)
New Revision: 174

Added:
   pld-doc/book/pl_book__konfiguracja/konfiguracja.sec
Modified:
   pld-doc/book/pl_book__konfiguracja/pl_konfiguracja.chp
   pld-doc/book/pl_book__master.docb
Log:
- dodano dzial konfiguracji


Added: pld-doc/book/pl_book__konfiguracja/konfiguracja.sec
===================================================================
--- pld-doc/book/pl_book__konfiguracja/konfiguracja.sec	2004-01-04 20:42:24 UTC (rev 173)
+++ pld-doc/book/pl_book__konfiguracja/konfiguracja.sec	2004-01-04 20:52:27 UTC (rev 174)
@@ -0,0 +1,99 @@
+<section>
+<title>Kernel - jądro systemu</title>
+<abstract><para>Jak zapewne większości z was wiadomo jądro (kernel) jest najważniejszym elementem każdego systemu. W uproszczeniu można powiedzieć, że zajmuje się ono nadzorowaniem komunikacji wszystkich elementów systemu.</para></abstract>
+
+<section>
+<title>Moduły jądra - po co nam one</title>
+<para>Moduły jądra zostały stworzone po to by kernel zajmował mało pamięci operacyjnej i był zarazem uniwersalny. Ułatwiają one także prace ludziom zaangażowanym w rozwój kernela i dodatkowych modułów (nie potrzeba kompilować całego kernela by sprawdzić zmiany, wystarczy tylko sam moduł) Wyobraź sobie sytuację, w której masz wkompilowane do niego wszystko, a twój system nie posiada urządzeń, które kernel potrafi obsłużyć. Jest to duże marnotrawstwo, ponieważ w pamięci znajdą się nie potrzebne nam funkcje. Dodać należy fakt, ograniczenia wielkości jądra (można to zmienić odpowiednimi przeróbkami źródeł via Red Hat). Dlatego lubimy moduły. Dają nam one możliwość wyboru między tym co niezbędne, a brakiem wsparcia dla urządzeń. Podsumowując. Nie potrzebujesz to nie używasz.</para>
+<para>By móc używać modułów potrzebujesz dwóch rzeczy. Kernela z wkompilowaną opcją <command>Loadable module support</command> oraz sterowników skompilowanych jako moduły. Ponieważ używasz PLD to nie masz co się głowić ponieważ wszystko to masz u siebie w systemie.</para>
+</section>
+
+<section>
+<title><filename>/etc/modules</filename></title>
+<para>Plik ten zawiera listę modułów, które zostaną załadowane podczas startu systemu lub przy zmianie poziomu uruchomienia systemu.</para>
+<para>Np. Załadownie sterownika karty muzycznej znajdującej się na płycie głównej. Najpierw musimy wiedzieć jaki moduł mamy załadować. Można szukać różnymi metodami, ale najlepsza jest chyba <literal>google</literal>. Jeżeli wiesz mniej więcej jak nazywa się moduł, to spróbuj wyszukać wydając polecenie <programlisting>[root w rennis /root]# modprobe -l *audio*
+/lib/modules/2.4.20-5/kernel/drivers/media/video/tvaudio.o
+/lib/modules/2.4.20-5/kernel/drivers/sound/via82cxxx_audio.o
+/lib/modules/2.4.20-5/kernel/drivers/sound/nm256_audio.o
+/lib/modules/2.4.20-5/kernel/drivers/sound/i810_audio.o
+/lib/modules/2.4.20-5/kernel/drivers/sound/btaudio.o
+/lib/modules/2.4.20-5/kernel/drivers/usb/audio.o
+</programlisting>
+Otrzymaliśmy listę modułów pasujących do wzorca bez ich ładowania. Mój chipset na płycie głównej to via82*, więc próbuję czy zadziała z moja kartą dźwiękową. <programlisting>modprobe via82cxxx_audio</programlisting>Moduł załadował się bez błędów, dlatego zapuszczam jakąś muzyczkę by sprawdzić czy działa. Ponieważ wszystko się udało i chciałbym, żeby moja karta muzyczna była zawsze w pogotowiu więc dopisuje ją do <filename>/etc/modules</filename> przykładowo w taki sposób. 
+<programlisting>echo "via82cxxx_audio" >> /etc/modules</programlisting></para>
+<para>Warto zapoznać się także z następującymi poleceniami operującymi na modułach:
+<informaltable frame="all"><tgroup cols="2">
+<thead><row>
+<entry>Polecenie</entry>
+<entry>Jego krótki opis</entry>
+</row></thead>
+<tbody><row>
+<entry><command>lsmod</command></entry><entry>wyświetla wszystkie w danej chwili załadowane moduły</entry>
+</row>
+<row>
+<entry><command>modinfo</command></entry><entry>podaje opis modułu podany przez jego twórcę</entry>
+</row>
+<row>
+<entry><command>insmod</command></entry><entry>instaluje moduł do działającej wersji jądra</entry>
+</row>
+<row>
+<entry><command>depmod</command></entry><entry>tworzenie pliku zależności do podanego jądra</entry>
+</row>
+</tbody></tgroup></informaltable>
+</para></section>
+
+<section>
+<title><filename>/etc/modules.conf</filename></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.</para>
+<para>Jeżeli masz kernela dystrybucyjnego i działa ci sieć to w <filename>modules.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
+	  <programlisting>alias eth0 8139too</programlisting> do <filename>/etc/modules.conf</filename>.  Dzięki tej linijce wszelkie odwołania przy ładowaniu modułów np. <programlisting>modprobe eth0</programlisting> załadują automatycznie moduł 8139too. 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 się. 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ę jaki moduł ją obsługuje zaglądamy do <filename>/etc/modules.conf</filename>i zmieniamy linijkę <programlisting>alias ethX moduł_starej_karty</programlisting> gdzie X jest numerem interfejsu na <programlisting>alias ethX moduł_nowej_karty</programlisting> 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.
+<programlisting>alias parport_lowlevel parport_pc
+options parport_pc io=0x378, irq=7</programlisting>
+W tym fragmencie pliku <filename>/etc/modules.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>
+</section>
+
+<section>
+<title>Podstawowa konfiguracja systemu: <filename>/etc/sysconfig</filename></title>
+
+	<section>
+	  <title>Wprowadzenie</title>
+	  <para>
+	  Katalog <filename>/etc/sysconfig</filename> zawiera pliki, które używają skrypty uruchomieniowe mieszczące się w <filename>/etc/rc.d</filename>. Te pliki definiują/ustawiają podstawowe zachowanie systemu i jego usług.
+	  </para>
+	</section>
+	<section>
+	  <title>Konsola</title>
+	  <para>
+	  Plik <filename>/etc/sysconfig/console</filename> zawiera podstawowe ustawienia konsoli.
+	  </para>
+	<para>
+	  Po zmodyfikowaniu pliku konfiguracyjnego należy wydać polecenie <programlisting>/etc/rc.d/init.d/console restart</programlisting> by zmiany zostały zastosowane.
+	</para>
+	</section>
+	<section>
+	  <title>Mysz</title>
+	  <para>
+	  Plik <filename>/etc/sysconfig/mouse</filename> zawiera ustawienia myszki dla usługi gpm (General Purpose Mouse). Usługa ta umożliwia korzystanie z myszki w aplikacjach działających pod konsolą. Gdm może być także użyty z X Window System.
+	    <!--  (patrz <xref linkend="x-repeater"/>) -->
+	  </para>
+	<para>
+	  Po zmodyfikowaniu pliku konfiguracyjnego należy wydać polecenie <programlisting>/etc/rc.d/init.d/gpm restart</programlisting> by zmiany zostały zastosowane.
+	  </para>
+	</section>
+
+	<section>
+	  <title>Zegar</title>
+	  <para>
+	  Plik <filename>/etc/sysconfig/clock</filename> zawiera ustawienia zegara. Jego zawartość  jest używana przez skrypt /etc/rc.d/rc.sysinit na bardzo wczesnym poziomie uruchamiania systemu.
+	  </para>
+	</section>
+	<section>
+	  <title>System</title>
+	<para>
+	  Plik <filename>/etc/sysconfig/system</filename> jest używany na bardzo wczesnym poziomie uruchamiania systemu przez skrypty uruchomieniowe.
+	  </para>
+</section>
+</section>

Modified: pld-doc/book/pl_book__konfiguracja/pl_konfiguracja.chp
===================================================================
--- pld-doc/book/pl_book__konfiguracja/pl_konfiguracja.chp	2004-01-04 20:42:24 UTC (rev 173)
+++ pld-doc/book/pl_book__konfiguracja/pl_konfiguracja.chp	2004-01-04 20:52:27 UTC (rev 174)
@@ -3,6 +3,7 @@
 <chapter>
 <title>Konfiguracja systemu</title>
 <para>Ten rozdział prezentuje metody konfiguracji parametrów systemu.</para>
-&konfiguracja__sysconfig;
+<!-- &konfiguracja__sysconfig; -->
+&konfiguracja_sec;
 &konfiguracja__siec;
 </chapter>

Modified: pld-doc/book/pl_book__master.docb
===================================================================
--- pld-doc/book/pl_book__master.docb	2004-01-04 20:42:24 UTC (rev 173)
+++ pld-doc/book/pl_book__master.docb	2004-01-04 20:52:27 UTC (rev 174)
@@ -5,6 +5,7 @@
 <!ENTITY pakiety SYSTEM "pl_book__pakiety/pl_pakiety.chp">
 <!ENTITY pakiety__poldek SYSTEM "pl_book__pakiety/poldek.sec">
 <!ENTITY konfiguracja SYSTEM "pl_book__konfiguracja/pl_konfiguracja.chp"> 
+<!ENTITY konfiguracja_sec SYSTEM "pl_book__konfiguracja/konfiguracja.sec">
 <!ENTITY konfiguracja__sysconfig SYSTEM "pl_book__konfiguracja/sysconfig.sec">
 <!ENTITY konfiguracja__sysconfig___console SYSTEM "pl_book__konfiguracja/sysconfig/console.sec">
 <!ENTITY konfiguracja__siec SYSTEM "pl_book__konfiguracja/siec.sec">



Więcej informacji o liście dyskusyjnej pld-doc