1 |
-----BEGIN PGP SIGNED MESSAGE----- |
2 |
Hash: SHA1 |
3 |
|
4 |
Hei, |
5 |
|
6 |
Tässä suomentamani udev-opas tarkistettavaksi: |
7 |
|
8 |
|
9 |
|
10 |
<?xml version='1.0' encoding="ISO-8859-15"?> |
11 |
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
12 |
|
13 |
<!-- |
14 |
$Header: /var/www/www.gentoo.org/raw_cvs/gentoo/xml/htdocs/doc/en/udev-guide.xml,v |
15 |
1.17 2004/09/22 11:59:16 swift Exp$ --> |
16 |
|
17 |
<guide link="/doc/fi/udev-guide.xml"> |
18 |
<title>Gentoon udev-opas</title> |
19 |
|
20 |
<author title="Tekijä"> |
21 |
<mail link="swift@g.o">Sven Vermeulen</mail> |
22 |
</author> |
23 |
<author title="Contributor"> |
24 |
<mail link="g.guidi@×××.it">Gregorio Guidi</mail> |
25 |
</author> |
26 |
<author title="Kääntäjä"> |
27 |
<mail link="japsu@×××.fi">Santtu Pajukanta</mail> |
28 |
</author> |
29 |
|
30 |
<abstract> |
31 |
Tämä opas kertoo, mikä on udev ja miten voit käyttää sitä täyttämään tarpeesi. |
32 |
</abstract> |
33 |
|
34 |
<license/> |
35 |
|
36 |
<version>0.13</version> |
37 |
<date>22. syyskuuta 2004</date> |
38 |
|
39 |
<chapter> |
40 |
<title>Mikä on udev?</title> |
41 |
<section> |
42 |
<title>/dev-hakemisto</title> |
43 |
<body> |
44 |
|
45 |
<p> |
46 |
Kun Linux-käyttäjät keskustelevat tietokoneidensa laitteista sellaisten |
47 |
ihmisten läheisyydessä, jotka luulevat Linuxin olevan jonkinlainen virus tai |
48 |
kahvimerkki, "kautta dev kautta foon" käyttö saa varmasti aikaan outoja |
49 |
katseita. Mutta onnellisille käyttäjille (Sinut mukaanlukien) |
50 |
<path>/dev/hda1</path>:n käyttö on vain nopea tapa selittää, että tarkoitamme |
51 |
ensisijaisen IDE-väylän isäntälaitteen ensimmäistä osiota. Vai tarkoitammeko? |
52 |
</p> |
53 |
|
54 |
<p> |
55 |
Me kaikki tiedämme, mikä laitetiedosto on. Jotkut jopa tietävät, miksi |
56 |
laitetiedostoilla on erityiset numerot, kun katsomme niitä lähempää |
57 |
komentamalla <c>ls -l</c> <path>/dev</path>-hakemistossa. Sinusta se ei |
58 |
välttämättä näytä tältä, mutta tämä on suunnitteluvirhe. <!-- flaw by design |
59 |
== suunnitteluvirhe? --> |
60 |
</p> |
61 |
|
62 |
<p> |
63 |
Ajattele laitteita, jotka voit kiinnittää koneeseesi sen käydessä, esimerkiksi |
64 |
USB:tä, IEEE1394:ää, lennossa liitettävää PCI:tä... Mikä on ensimmäinen |
65 |
laite? Ja kuinka pitkään? Miten muut laitteet nimetään, kun ensimmäinen |
66 |
katoaa? Miten tämä vaikuttaa käynnissä oleviin toimenpiteisiin? Eikö olisikin |
67 |
hauskaa, jos tulostustyösi siirtyisi yhtäkkiä uudelta lasertulostimeltasi |
68 |
ikivanhalle puolikuolleelle matriisitulostimellesi, koska äitisi päätti |
69 |
irroittaa mustesuihkutulostimesi johdon - sen, joka sattui olemaan |
70 |
ensimmäinen tulostin? |
71 |
</p> |
72 |
|
73 |
<p> |
74 |
Kuvaan astuu <e>udev</e>. Udev-projektin tavoitteet ovat sekä mielenkiintoisia |
75 |
että tarpeellisia: |
76 |
</p> |
77 |
|
78 |
<ul> |
79 |
<li>Toimii käyttäjätilassa</li> |
80 |
<li>Luo ja poistaa laitetiedostoja dynaamisesti</li> |
81 |
<li>Tarjoaa yhtenäisen nimeämistavan</li> |
82 |
<li>Tarjoaa käyttäjätilan sovellusrajapinnan</li> |
83 |
</ul> |
84 |
|
85 |
<p> |
86 |
Näiden toimintojen tarjoamiseksi udeviä kehitetään kolmessa eri projektissa: |
87 |
<e>namedev</e>issä, <e>libsysfs</e>:ssä ja tietysti <e>udev</e>issä. |
88 |
</p> |
89 |
|
90 |
</body> |
91 |
</section> |
92 |
<section> |
93 |
<title>namedev</title> |
94 |
<body> |
95 |
|
96 |
<p> |
97 |
Namedev mahdollistaa laitteiden nimeämisen erillään udev-ohjelmasta. Tämä |
98 |
mahdollistaa eri osapuolten kehittämät joustavatnimeämistavat. Laitteiden |
99 |
nimeämisestä huolehtiva alijärjestelmä tarjoaa standardoidun rajapinnan, jota |
100 |
udev voi käyttää. |
101 |
</p> |
102 |
|
103 |
<p> |
104 |
Tällä hetkellä namedev tarjoaa vain yhden nimeämistavan; sen, jonka on |
105 |
määritellyt LANANA ja jota suurin osa Linux-järjestelmien käyttäjistä nykyään |
106 |
käyttää, ja joka näinollen sopii erittäin hyvin Linux-käyttäjien |
107 |
enemmistölle. |
108 |
</p> |
109 |
|
110 |
<p> |
111 |
Namedev käyttää viisikohtaista menetelmää tietyn laitteen nimen |
112 |
päättelemiseksi. Jos laitteelle löydetään nimi jossain vaiheessa, tätä nimeä |
113 |
käytetään. Vaiheet ovat: |
114 |
</p> |
115 |
|
116 |
<ul> |
117 |
<li>nimiö tai sarjanumero</li> |
118 |
<li>väylän laitenumero</li> |
119 |
<li>väylätopologia</li> |
120 |
<li>staattisesti määritelty nimi</li> |
121 |
<li>kernelin määrittämä nimi</li> |
122 |
</ul> |
123 |
|
124 |
<p> |
125 |
<e>Nimiö tai sarjanumero</e> -vaiheessa tarkistetaan, onko laitteella jokin |
126 |
yksilöllinen tunniste. Esimerkiksi USB-laitteilla on yksilöllinen |
127 |
USB-sarjanumero; SCSI-laitteilla on yksilöllinen UUID-tunniste. Jos namedev |
128 |
löytää vastaavuuden tämän tunnisteen ja annetun asetustiedoston välillä, |
129 |
asetustiedostossa määriteltyä laitenimeä käytetään. |
130 |
</p> |
131 |
|
132 |
<p> |
133 |
<e>Väylän laitenumero</e> -vaiheessa tarkistetaan laitteen väylänumero. Tämä |
134 |
menetelmä on riittävä ympäristöissä, joissa laitteita ei voida liittää |
135 |
koneeseen lennossa. Esimerkiksi PCI-väylänumerot vaihtuvat harvoin |
136 |
järjestelmän elinaikana. Mikäli namedev löytää vastaavuuden tämän sijainnin |
137 |
ja annetun asetustiedoston välillä, asetustiedostossa määriteltyä laitenimeä |
138 |
käytetään. |
139 |
</p> |
140 |
|
141 |
<p> |
142 |
Yhtä lailla <e>väylätopologia</e> on melko staattinen tapa määritellä laite, |
143 |
kunhan käyttäjä ei vaihda niitä. Kun laitteensijainti topologiassa vastaa |
144 |
käyttäjän antamaa asetusta, tätä vastaavaa nimeä käytetään. |
145 |
</p> |
146 |
|
147 |
<p> |
148 |
Neljäs vaihe, <e>staattisesti määritelty nimi</e>, tapahtuu yksinkertaisella |
149 |
merkkijonon korvaamisella. Kun kernelin määrittämä nimi (laitteen oletusnimi) |
150 |
vastaa annettua merkkijonoa, korvaavaa nimeä käytetään. |
151 |
</p> |
152 |
|
153 |
<p> |
154 |
Viimeinen vaihe (<e>kernelin määrittämä nimi</e>) valitsee kernelin tarjoaman |
155 |
oletusnimen. Useimmissa tapauksissa tämä tapa riittää, koska se vastaa |
156 |
useimmissa Linux-järjestelmissä käytettyä laitteiden nimeämistapaa. |
157 |
</p> |
158 |
|
159 |
</body> |
160 |
</section> |
161 |
<section> |
162 |
<title>libsysfs</title> |
163 |
<body> |
164 |
|
165 |
<p> |
166 |
udev kommunikoi kernelin kanssa sysfs-näennäistiedostojärjestelmän kautta. |
167 |
libsysfs-projekti tarjoaa yhteisen sovellusrajapinnan, jonka kautta päästään |
168 |
käsiksi geneerisellä tavalla sysfs-tiedostojärjestelmän antamaan tietoon. |
169 |
Tämä mahdollistaa kaikenlaisten laitteiden tiedustelemisen ilman, että täytyy |
170 |
tehdä oletuksia siitä, minkälainen laite on kyseessä. |
171 |
</p> |
172 |
|
173 |
</body> |
174 |
</section> |
175 |
<section> |
176 |
<title>udev</title> |
177 |
<body> |
178 |
|
179 |
<p> |
180 |
Kernel kutsuu <path>/sbin/hotplug</path>-ohjelmaa aina, kun se huomaa |
181 |
muutoksen laitteistorakenteessa. Hotplug ajaa ne sovellukset, joihin on |
182 |
linkki <path>/etc/hotplug.d/default</path>-hakemistossa, josta löydät myöskin |
183 |
symbolisen linkin udev-sovellukseen. Hotplug ohjaa kernelin antaman |
184 |
informaation udev-ohjelmalle, joka suorittaa tarvittavat toimenpiteet |
185 |
<path>/dev</path>-tiedostopuussa (luo tai poistaa laitetiedostoja). |
186 |
</p> |
187 |
|
188 |
</body> |
189 |
</section> |
190 |
</chapter> |
191 |
|
192 |
<chapter> |
193 |
<title>udevin käyttö Gentoossa</title> |
194 |
<section> |
195 |
<title>Vaatimukset</title> |
196 |
<body> |
197 |
|
198 |
<p> |
199 |
udev on tarkoitettu käytettäväksi yhdessä 2.6-sarjan kernelin (kuten |
200 |
<c>development-sources</c> ja <c>gentoo-dev-sources</c>) kanssa. Jos käytät |
201 |
tällaista kerneliä, sinun tarvitsee vain varmistaa että sinulla on riittävän |
202 |
uusi versio <c>sys-apps/baselayout</c>-paketista. |
203 |
</p> |
204 |
|
205 |
<pre caption="udevin asentaminen"> |
206 |
# <i>emerge udev</i> |
207 |
</pre> |
208 |
|
209 |
<p> |
210 |
udev asentaa <c>hotplug-base</c>-paketin yhtenä riippuvuuksistaan. Jos aiot |
211 |
käyttää hotplugia suorittamaan tiettyjä toimenpiteitä, kun liität koneeseen |
212 |
USB- tai IEEE1394-laitteitasi, sinun tulisi myös asentaa tarvittavat |
213 |
hotplug-skriptit. |
214 |
</p> |
215 |
|
216 |
<pre caption="Valinnaisten hotplug-skriptien asentaminen"> |
217 |
# <i>emerge hotplug</i> |
218 |
</pre> |
219 |
|
220 |
<p> |
221 |
Jos käytät <c>genkernel</c>illä käännettyä kerneliä, kaikki on jo kunnossa |
222 |
kernelin osalta. Muuten varmista, että olet asettanut seuraavat kernelin |
223 |
asetukset: |
224 |
</p> |
225 |
|
226 |
<pre caption="Vaaditut kernelin asetukset"> |
227 |
General setup ---> |
228 |
[*] Support for hot-pluggable devices |
229 |
|
230 |
File systems ---> |
231 |
Pseudo filesystems ---> |
232 |
[*] /proc file system support |
233 |
[*] Virtual memory file system support (former shm fs) |
234 |
</pre> |
235 |
|
236 |
<p> |
237 |
Voit jättää <c>/dev file system support (OBSOLETE)</c> -valinnan aktiiviseksi |
238 |
mikäli haluat, mutta varmista tällöin, että <c>Automatically mount at |
239 |
boot</c> ei ole valittu. |
240 |
</p> |
241 |
|
242 |
<pre caption="Devfs:ää ei liitetä automaagisesti"> |
243 |
File systems ---> |
244 |
Pseudo Filesystems ---> |
245 |
[*] /dev file system support (OBSOLETE) |
246 |
[ ] Automatically mount at boot |
247 |
</pre> |
248 |
|
249 |
</body> |
250 |
</section> |
251 |
<section> |
252 |
<title>Asetukset</title> |
253 |
<body> |
254 |
|
255 |
<p> |
256 |
Jos haluat käyttää Gentohon lisättyjä udev-virityksiä, joiden tarkoitus on |
257 |
tehdä elämäsi helpommaksi, sinun ei tarvitse lukea tästä eteenpäin. Gentoo |
258 |
käyttää udeviä mutta säilyttää staattisen <path>/dev</path>-hakemiston, jotta |
259 |
Sinulta ei koskaan puuttuisi tarvittavia laitetiedostoja. Gentoon |
260 |
käynnistysskriptit eivät aja devfsd-palvelinta ja ne kytkevät käynnistyksen |
261 |
aikana devfs:n pois käytöstä. |
262 |
</p> |
263 |
|
264 |
<p> |
265 |
Jos haluat kuitenkin ajaa ainoastaan udeviä käyttävää virittämätöntä |
266 |
järjestelmää, kuten udeviä kehitettäessä on tarpeen (ja kärsiä niistä |
267 |
vaikeuksista, jotka aiheutuvat udev-tuen puutteen vuoksi puuttuvista |
268 |
laitetiedostoista), ole hyvä ja lue eteenpäin :) |
269 |
</p> |
270 |
|
271 |
<p> |
272 |
Poistamme säännöt, jotka tallentavat laitetiedostot: muokkaa |
273 |
<c>RC_DEVICE_TARBALL</c>-muuttujaa <path>/etc/conf.d/rc</path>-tiedostossa ja |
274 |
aseta sen arvoksi <c>no</c>: |
275 |
</p> |
276 |
|
277 |
<pre caption="/etc/conf.d/rc"> |
278 |
RC_DEVICE_TARBALL="no" |
279 |
</pre> |
280 |
|
281 |
<p> |
282 |
Jos olet sisällyttänyt kerneliisi tuen devfs:lle, voit kytkeä sen pois |
283 |
käytöstä järjestelmälataajan asetuksista: lisää <c>gentoo=nodevfs</c> |
284 |
kernelin parametreihin. Jos haluat käyttää devfs:ää ja kytkeä udevin pois |
285 |
käytöstä, lisää <c>gentoo=noudev</c> kernelin parametreihin. |
286 |
</p> |
287 |
|
288 |
</body> |
289 |
</section> |
290 |
</chapter> |
291 |
|
292 |
<chapter> |
293 |
<title>Tunnetut ongelmat</title> |
294 |
<section> |
295 |
<title>Puuttuvat laitetiedostot käynnistyksen aikana</title> |
296 |
<body> |
297 |
|
298 |
<p> |
299 |
Jos et pysty käynnistämään järjestelmääsi, koska saat virheilmoituksen |
300 |
<path>/dev/null</path>-tiedoston puuttumisesta tai koska konsoli puuttuu, |
301 |
ongelmasi on, että Sinulta puuttuu joitakin niistä laitetiedostoista, joiden |
302 |
on oltava olemassa <e>ennen kuin</e> <path>/dev</path> liitetään |
303 |
tiedostojärjestelmään ja se siirtyy udevin hallintaan. Tämä on tavallista |
304 |
Gentoo-järjestelmissä, jotka on asennettu vanhalta asennusmedialta. |
305 |
</p> |
306 |
|
307 |
<p> |
308 |
Jos ajat <c>sys-apps/baselayout-1.8.12</c>:a tai uudempaa, tämä ongelma |
309 |
voidaan sivuuttaa, koska käynnistysprosessin pitäisi silti pystyä toimimaan. |
310 |
Jos kuitenkin haluat eroon ongelman aiheuttamista ärsyttävistä |
311 |
virheilmoituksista, Sinun tulisi luoda puuttuvat laitetiedostot allaolevien |
312 |
ohjeiden mukaisesti. |
313 |
</p> |
314 |
|
315 |
<p> |
316 |
Nähdäksesi, mitkä laitetiedostot ovat saatavilla ennen kuin |
317 |
<path>/dev</path>-tiedostojärjestelmä liitetään, anna seuraavat komennot: |
318 |
</p> |
319 |
|
320 |
<pre caption="Käynnistyksen aikana saatavilla olevien laitetiedostojen |
321 |
listaaminen"> |
322 |
# <i>mkdir test</i> |
323 |
# <i>mount --bind / test</i> |
324 |
# <i>cd test/dev</i> |
325 |
# <i>ls</i> |
326 |
</pre> |
327 |
|
328 |
<p> |
329 |
Onnistuneeseen käynnistykseen tarvittavat tiedostot ovat |
330 |
<path>/dev/null</path> ja <path>/dev/console</path>. Jos ne eivätnäy |
331 |
äskeisessä testissä, Sinun on luotava ne käsin. Anna seuraavat komennot |
332 |
<path>test/dev</path>-hakemistossa: |
333 |
</p> |
334 |
|
335 |
<pre caption="Tarvittavien laitetiedostojen luominen"> |
336 |
# <i>mknod -m 660 console c 5 1</i> |
337 |
# <i>mknod -m 660 null c 1 3</i> |
338 |
</pre> |
339 |
|
340 |
<p> |
341 |
Kun olet valmis, älä unohda irroittaa <path>test/</path>-hakemistoa |
342 |
tiedostojärjestelmästä: |
343 |
</p> |
344 |
|
345 |
<pre caption="test/-hakemiston irroittaminen"> |
346 |
# <i>cd ../..</i> |
347 |
# <i>umount test</i> |
348 |
# <i>rmdir test</i> |
349 |
</pre> |
350 |
|
351 |
</body> |
352 |
</section> |
353 |
<section> |
354 |
<title>udev ja nvidia</title> |
355 |
<body> |
356 |
|
357 |
<p> |
358 |
Jos käytät nVidian suljettua ajuria ja X-palvelimesi ei käynnisty pelkkää |
359 |
udevia käyttävässä järjestelmässä, varmista, että Sinulla on |
360 |
</p> |
361 |
|
362 |
<ul> |
363 |
<li> |
364 |
<c>nvidia</c>-moduuli listattuna |
365 |
<path>/etc/modules.autoload.d/kernel-2.6</path>-tiedostossa, |
366 |
</li> |
367 |
<li> |
368 |
<c>nvidia-kernel</c>-paketista vähintään versio |
369 |
<c>media-video/nvidia-kernel-1.0.5336-r2</c> ja |
370 |
</li> |
371 |
<li> |
372 |
<c>baselayout</c>-paketista vähintään versio |
373 |
<c>sys-apps/baselayout-1.8.12</c> |
374 |
</li> |
375 |
</ul> |
376 |
|
377 |
</body> |
378 |
</section> |
379 |
<section> |
380 |
<title>LVM2-nimet katoavat</title> |
381 |
<body> |
382 |
|
383 |
<p> |
384 |
Kun käytät <c>udev</c>iä ja LVM2:ta yhdessä, saatat huomata luomiesi |
385 |
koosteryhmien <!-- volume groups --> ja loogisten koosteiden <!-- logical |
386 |
volumes --> kadonneen. Ne eivät varsinaisesti ole kadonneet, mutta |
387 |
valitettavasti ne on nimetty tyyliin <path>/dev/dm-#</path> missä # on 0, |
388 |
1, ... |
389 |
</p> |
390 |
|
391 |
<p> |
392 |
Korjataksesi tämän muokkaa |
393 |
<path>/etc/udev/rules.d/50-udev.rules</path>-tiedostoa ja poista |
394 |
kommenttimerkki (#) seuraavan rivin edestä: |
395 |
</p> |
396 |
|
397 |
<pre caption="Poista kommentointi tältä riviltä |
398 |
tiedostosta /etc/udev/rules.d/50-udev.rules"> |
399 |
KERNEL="dm-[0-9]*", PROGRAM="/sbin/devmap_name %M %m", NAME="%k", |
400 |
SYMLINK="%c" |
401 |
</pre> |
402 |
|
403 |
</body> |
404 |
</section> |
405 |
<section> |
406 |
<title>Muita ongelmia</title> |
407 |
<body> |
408 |
|
409 |
<p> |
410 |
Jos laitetiedostoja ei luoda automaattisesti, kun moduuli ladataan tiedostosta |
411 |
<path>/etc/modules.autoload.d/kernel-2.6</path>, mutta ne ilmestyvät kun |
412 |
lataat moduulin käsin <c>modprobe</c>-komennolla, Sinun tulisi päivittää |
413 |
<c>sys-apps/baselayout-1.8.12</c>:iin tai uudempaan. |
414 |
</p> |
415 |
|
416 |
<p> |
417 |
Tuki framebuffer-laitteille (<path>/dev/fb/*</path>) sisältyy kerneliin |
418 |
versiosta 2.6.6-rc2 lähtien. |
419 |
</p> |
420 |
|
421 |
<p> |
422 |
Mikäli kernelisi on vanhempi kuin 2.6.4, tulee Sinun erikseen valita tuki |
423 |
<path>/dev/pts</path>-tiedostojärjestelmälle. |
424 |
</p> |
425 |
|
426 |
<pre caption="/dev/pts-tiedostojärjestelmän aktivoiminen"> |
427 |
File systems ---> |
428 |
Pseudo filesystems ---> |
429 |
[*] /dev/pts file system for Unix98 PTYs |
430 |
</pre> |
431 |
|
432 |
</body> |
433 |
</section> |
434 |
</chapter> |
435 |
|
436 |
<chapter> |
437 |
<title>Resursseja ja tunnustusta</title> |
438 |
<section> |
439 |
<body> |
440 |
|
441 |
<p> |
442 |
Greg Kroah-Hartmanin (IBM Corporation) Linux Symposiumissa (Ottawa, Ontario |
443 |
Canada - 2003) pitämä udev-aiheinen puhe antoiohjeen kirjoittajalle vankan |
444 |
käsityksen udev-sovelluksesta. |
445 |
</p> |
446 |
|
447 |
<p> |
448 |
<uri |
449 |
link="http://webpages.charter.net/decibelshelp/LinuxHelp_UDEVPrimer.html">Decibel's |
450 |
UDEV Primer</uri> on syvällinen dokumentti udevistä ja Gentoosta. |
451 |
</p> |
452 |
|
453 |
<p> |
454 |
Daniel Draken, erään Gentoo-kehittäjän, kirjoittama <uri |
455 |
link="http://www.reactivated.net/udevrules.php">Writing udev rules</uri> on |
456 |
erinomainen dokumentti, jos haluat oppia mukauttamaan udev-asennustasi. |
457 |
</p> |
458 |
|
459 |
</body> |
460 |
</section> |
461 |
</chapter> |
462 |
|
463 |
</guide> |
464 |
|
465 |
|
466 |
|
467 |
|
468 |
|
469 |
- -- |
470 |
Santtu Pajukanta <japsu@×××.fi> |
471 |
OpenPGP key ID: 0x520A97CC |
472 |
-----BEGIN PGP SIGNATURE----- |
473 |
Version: GnuPG v1.2.6 (GNU/Linux) |
474 |
|
475 |
iD8DBQFBVvsvZzmiiVIKl8wRAhmrAJ9KRhcs/HNz+QAoJKx1gXIJEWO6GQCfVvxe |
476 |
8a8xPDa8mYEkVdFiJHKxCZs= |
477 |
=ZaeT |
478 |
-----END PGP SIGNATURE----- |
479 |
|
480 |
-- |
481 |
gentoo-doc-fi@g.o mailing list |