PLD-doc/book/pl_book__podstawy/pl_podstawy__urzadzenia.sec

qwiat cvs at pld-linux.org
Fri Nov 11 21:58:00 CET 2005


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>



More information about the pld-cvs-commit mailing list