PLD-doc/book/pl_book__podstawy/pl_podstawy__urzadzenia.sec
qwiat
cvs w pld-linux.org
Pią, 11 Lis 2005, 21:58:00 CET
Author: qwiat
Date: Fri Nov 11 21:57:57 2005
New Revision: 6530
Modified:
PLD-doc/book/pl_book__podstawy/pl_podstawy__urzadzenia.sec
Log:
- dodanie ogolnego opisu dev,devfs,udev
- dodanie kilku slow o plikach urzadzen
Modified: PLD-doc/book/pl_book__podstawy/pl_podstawy__urzadzenia.sec
==============================================================================
--- PLD-doc/book/pl_book__podstawy/pl_podstawy__urzadzenia.sec (original)
+++ PLD-doc/book/pl_book__podstawy/pl_podstawy__urzadzenia.sec Fri Nov 11 21:57:57 2005
@@ -11,7 +11,75 @@
martwić o jego zawartość, wystarczy że będzie znał powiązania
między urządzeniami a nazwami tych plików.
</para>
-
+ <para>
+ Nazwy urządzeń nadawane są tak, aby ułatwiać życie użytkownikom,
+ dla jądra są właściwie obojętne. Jądro rozróżnia urządzenia
+ za pomocą pary liczb: <emphasis>major</emphasis> (głównej) i
+ <emphasis>minor</emphasis> (pobocznej). To jakie
+ są wartości tych liczb odczytamy następująco:
+<screen>ls -l /dev/hda2
+brw-rw---- 1 root disk 3, 2 2005-11-11 15:08 /dev/hda2</screen>
+ Na powyższym przykładzie major jest równa 3, zaś minor jest równa 2.
+ Mimo że w ogromnej większości wypadków posługiwanie się nazwami
+ plików całkowicie wystarcza to jednak warto wiedzieć nieco na ten
+ temat. Więcej o plikach urządzeń i ich tworzeniu opisano
+ w następnym rozdziale.
+ </para>
+
+ <section id="podstawy_urzadzenia_podsystemy_urzadzen">
+ <title>dev, devfs, udev</title>
+ <para>
+ Są trzy sposoby dostarczania plików urządzeń dla systemu:
+ <productname>dev</productname>, <productname>devfs</productname>
+ i <productname>udev</productname>. Każdy z nich ma wsparcie w
+ PLD i aby używać któregoś z nich wystarczy zainstalować
+ odpowiedni pakiet.
+ </para>
+ <para>
+ Najstarszym z rozwiązań jest pakiet
+ <productname>dev</productname>, dzięki niemu w
+ katalogu <filename>/dev</filename> zostanie utworzona spora
+ ilość węzłów (nawet jeśli nie mamy danego rodzaju urządzenia),
+ wystarczająca dla większości zastosowań. Jeśli jednak mamy
+ jakieś egzotyczne urządzenie to będziemy musieli samemu
+ utworzyć wymagane pliki. Pliki urządzeń tworzymy za
+ pomocą programu <command>mknod</command>.
+ </para>
+ <para>
+ W odróżnieniu od statycznej bazy plików urządzeń w ostatnim
+ czasie popularność zdobywają systemy automatycznego tworzenia
+ węzłów w katalogu <filename>/dev</filename>. W chwili
+ podłączenia urządzenia lub startu systemu automatycznie
+ tworzone są wymagane pliki. Jest to ogromne ułatwienie
+ dla użytkowników, gdyż nie wymaga od nich wiedzy na ten temat.
+ Pierwszym takim systemem był <productname>devfs</productname>,
+ sprawiał jednak sporo problemów i został zastąpiony przez
+ udev. Devfs został uznany za przestarzały i nie będziemy
+ się nim zajmować.
+ </para>
+ <para>
+ <productname>Udev</productname> automatycznie tworzy pliki
+ urządzeń, jednak sam
+ potrzebuje kilku z nich, aby mógł zacząć działać, są to:
+ <filename>/dev/console</filename>, <filename>/dev/null</filename>,
+ <filename>/dev/zero</filename>. Należy pamiętać o tym, że
+ podsystem udev jest wywoływany z rc-skryptów, tak więc przy
+ wystartowaniu systemu z parametrem <literal>init</literal>
+ lub przy próbie wykonania operacji chroota z innego systemu.
+ Wtedy wymagane pliki nie zostaną utworzone, co może
+ spowodować nieoczekiwane problemy z większością programów.
+ Parametr jądra <literal>init</literal> jak i wiele innych
+ szerzej opisano w <xref linkend="bootloader_wstep" />.
+ </para>
+ <para>
+ W przypadku chroot-a problem ten rozwiązujemy poprzez
+ wcześniejsze podmontowanie katalogu <filename>/dev</filename>
+ z systemu głównego. W pozostałych przypadkach uruchamiamy
+ skrypt <filename>/etc/rc.d/rc.sysinit</filename>, w
+ ostateczności tworzymy wymagane urządzenia za pomocą programu
+ <command>mknod</command> lub skądś je kopiujemy.
+ </para>
+ </section>
<section id="podstawy_urzadzenia_masowe">
<title>Urządzenia masowe</title>
Więcej informacji o liście dyskusyjnej pld-doc