Gentoo Logo
Gentoo Spaceship




Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-doc-fi
Navigation:
Lists: gentoo-doc-fi: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: gentoo-doc-fi@g.o
From: Santtu Pajukanta <japsu@...>
Subject: udev-opas tarkistettavaksi
Date: Sun, 26 Sep 2004 20:23:48 +0300
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hei,

Tässä suomentamani udev-opas tarkistettavaksi:



<?xml version='1.0' encoding="ISO-8859-15"?>
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">

<!-- 
$Header: /var/www/www.gentoo.org/raw_cvs/gentoo/xml/htdocs/doc/en/udev-guide.xml,v 
1.17 2004/09/22 11:59:16 swift Exp$ -->

<guide link="/doc/fi/udev-guide.xml">
<title>Gentoon udev-opas</title>

<author title="Tekijä">
  <mail link="swift@g.o">Sven Vermeulen</mail>
</author>
<author title="Contributor">
  <mail link="g.guidi@...">Gregorio Guidi</mail>
</author>
<author title="Kääntäjä">
  <mail link="japsu@...">Santtu Pajukanta</mail>
</author>

<abstract>
Tämä opas kertoo, mikä on udev ja miten voit käyttää sitä täyttämään tarpeesi.
</abstract>

<license/>

<version>0.13</version>
<date>22. syyskuuta 2004</date>

<chapter>
<title>Mikä on udev?</title>
<section>
<title>/dev-hakemisto</title>
<body>

<p>
Kun Linux-käyttäjät keskustelevat tietokoneidensa laitteista sellaisten 
ihmisten läheisyydessä, jotka luulevat Linuxin olevan jonkinlainen virus tai 
kahvimerkki, "kautta dev kautta foon" käyttö saa varmasti aikaan outoja 
katseita. Mutta onnellisille käyttäjille (Sinut mukaanlukien) 
<path>/dev/hda1</path>:n käyttö on vain nopea tapa selittää, että tarkoitamme 
ensisijaisen IDE-väylän isäntälaitteen ensimmäistä osiota. Vai tarkoitammeko?
</p>

<p>
Me kaikki tiedämme, mikä laitetiedosto on. Jotkut jopa tietävät, miksi 
laitetiedostoilla on erityiset numerot, kun katsomme niitä lähempää 
komentamalla <c>ls -l</c> <path>/dev</path>-hakemistossa. Sinusta se ei 
välttämättä näytä tältä, mutta tämä on suunnitteluvirhe. <!-- flaw by design 
== suunnitteluvirhe? -->
</p>

<p>
Ajattele laitteita, jotka voit kiinnittää koneeseesi sen käydessä, esimerkiksi 
USB:tä, IEEE1394:ää, lennossa liitettävää PCI:tä... Mikä on ensimmäinen 
laite? Ja kuinka pitkään? Miten muut laitteet nimetään, kun ensimmäinen 
katoaa? Miten tämä vaikuttaa käynnissä oleviin toimenpiteisiin? Eikö olisikin 
hauskaa, jos tulostustyösi siirtyisi yhtäkkiä uudelta lasertulostimeltasi 
ikivanhalle puolikuolleelle matriisitulostimellesi, koska äitisi päätti 
irroittaa mustesuihkutulostimesi johdon - sen, joka sattui olemaan 
ensimmäinen tulostin?
</p>

<p>
Kuvaan astuu <e>udev</e>. Udev-projektin tavoitteet ovat sekä mielenkiintoisia 
että tarpeellisia:
</p>

<ul>
  <li>Toimii käyttäjätilassa</li>
  <li>Luo ja poistaa laitetiedostoja dynaamisesti</li>
  <li>Tarjoaa yhtenäisen nimeämistavan</li>
  <li>Tarjoaa käyttäjätilan sovellusrajapinnan</li>
</ul>

<p>
Näiden toimintojen tarjoamiseksi udeviä kehitetään kolmessa eri projektissa: 
<e>namedev</e>issä, <e>libsysfs</e>:ssä ja tietysti <e>udev</e>issä.
</p>

</body>
</section>
<section>
<title>namedev</title>
<body>

<p>
Namedev mahdollistaa laitteiden nimeämisen erillään udev-ohjelmasta. Tämä 
mahdollistaa eri osapuolten kehittämät joustavatnimeämistavat. Laitteiden 
nimeämisestä huolehtiva alijärjestelmä tarjoaa standardoidun rajapinnan, jota 
udev voi käyttää.
</p>

<p>
Tällä hetkellä namedev tarjoaa vain yhden nimeämistavan; sen, jonka on 
määritellyt LANANA ja jota suurin osa Linux-järjestelmien käyttäjistä nykyään 
käyttää, ja joka näinollen sopii erittäin hyvin Linux-käyttäjien 
enemmistölle.
</p>

<p>
Namedev käyttää viisikohtaista menetelmää tietyn laitteen nimen 
päättelemiseksi. Jos laitteelle löydetään nimi jossain vaiheessa, tätä nimeä 
käytetään. Vaiheet ovat:
</p>

<ul>
  <li>nimiö tai sarjanumero</li>
  <li>väylän laitenumero</li>
  <li>väylätopologia</li>
  <li>staattisesti määritelty nimi</li>
  <li>kernelin määrittämä nimi</li>
</ul>

<p>
<e>Nimiö tai sarjanumero</e> -vaiheessa tarkistetaan, onko laitteella jokin 
yksilöllinen tunniste. Esimerkiksi USB-laitteilla on yksilöllinen 
USB-sarjanumero; SCSI-laitteilla on yksilöllinen UUID-tunniste. Jos namedev 
löytää vastaavuuden tämän tunnisteen ja annetun asetustiedoston välillä, 
asetustiedostossa määriteltyä laitenimeä käytetään.
</p>

<p>
<e>Väylän laitenumero</e> -vaiheessa tarkistetaan laitteen väylänumero. Tämä 
menetelmä on riittävä ympäristöissä, joissa laitteita ei voida liittää 
koneeseen lennossa. Esimerkiksi PCI-väylänumerot vaihtuvat harvoin 
järjestelmän elinaikana. Mikäli namedev löytää vastaavuuden tämän sijainnin 
ja annetun asetustiedoston välillä, asetustiedostossa määriteltyä laitenimeä 
käytetään.
</p>

<p>
Yhtä lailla <e>väylätopologia</e> on melko staattinen tapa määritellä laite, 
kunhan käyttäjä ei vaihda niitä. Kun laitteensijainti topologiassa vastaa 
käyttäjän antamaa asetusta, tätä vastaavaa nimeä käytetään.
</p>

<p>
Neljäs vaihe, <e>staattisesti määritelty nimi</e>, tapahtuu yksinkertaisella 
merkkijonon korvaamisella. Kun kernelin määrittämä nimi (laitteen oletusnimi) 
vastaa annettua merkkijonoa, korvaavaa nimeä käytetään.
</p>

<p>
Viimeinen vaihe (<e>kernelin määrittämä nimi</e>) valitsee kernelin tarjoaman 
oletusnimen. Useimmissa tapauksissa tämä tapa riittää, koska se vastaa 
useimmissa Linux-järjestelmissä käytettyä laitteiden nimeämistapaa.
</p>

</body>
</section>
<section>
<title>libsysfs</title>
<body>

<p>
udev kommunikoi kernelin kanssa sysfs-näennäistiedostojärjestelmän kautta. 
libsysfs-projekti tarjoaa yhteisen sovellusrajapinnan, jonka kautta päästään 
käsiksi geneerisellä tavalla sysfs-tiedostojärjestelmän antamaan tietoon. 
Tämä mahdollistaa kaikenlaisten laitteiden tiedustelemisen ilman, että täytyy 
tehdä oletuksia siitä, minkälainen laite on kyseessä.
</p>

</body>
</section>
<section>
<title>udev</title>
<body>

<p>
Kernel kutsuu <path>/sbin/hotplug</path>-ohjelmaa aina, kun se huomaa 
muutoksen laitteistorakenteessa. Hotplug ajaa ne sovellukset, joihin on 
linkki <path>/etc/hotplug.d/default</path>-hakemistossa, josta löydät myöskin 
symbolisen linkin udev-sovellukseen. Hotplug ohjaa kernelin antaman 
informaation udev-ohjelmalle, joka suorittaa tarvittavat toimenpiteet 
<path>/dev</path>-tiedostopuussa (luo tai poistaa laitetiedostoja).
</p>

</body>
</section>
</chapter>

<chapter>
<title>udevin käyttö Gentoossa</title>
<section>
<title>Vaatimukset</title>
<body>

<p>
udev on tarkoitettu käytettäväksi yhdessä 2.6-sarjan kernelin (kuten 
<c>development-sources</c> ja <c>gentoo-dev-sources</c>) kanssa. Jos käytät 
tällaista kerneliä, sinun tarvitsee vain varmistaa että sinulla on riittävän 
uusi versio <c>sys-apps/baselayout</c>-paketista.
</p>

<pre caption="udevin asentaminen">
# <i>emerge udev</i>
</pre>

<p>
udev asentaa <c>hotplug-base</c>-paketin yhtenä riippuvuuksistaan. Jos aiot 
käyttää hotplugia suorittamaan tiettyjä toimenpiteitä, kun liität koneeseen 
USB- tai IEEE1394-laitteitasi, sinun tulisi myös asentaa tarvittavat 
hotplug-skriptit.
</p>

<pre caption="Valinnaisten hotplug-skriptien asentaminen">
# <i>emerge hotplug</i>
</pre>

<p>
Jos käytät <c>genkernel</c>illä käännettyä kerneliä, kaikki on jo kunnossa 
kernelin osalta. Muuten varmista, että olet asettanut seuraavat kernelin 
asetukset:
</p>

<pre caption="Vaaditut kernelin asetukset">
General setup ---&gt;
  [*] Support for hot-pluggable devices

File systems ---&gt;
  Pseudo filesystems ---&gt;
    [*] /proc file system support
    [*] Virtual memory file system support (former shm fs)
</pre>

<p>
Voit jättää <c>/dev file system support (OBSOLETE)</c> -valinnan aktiiviseksi 
mikäli haluat, mutta varmista tällöin, että <c>Automatically mount at 
boot</c> ei ole valittu.
</p>

<pre caption="Devfs:ää ei liitetä automaagisesti">
File systems ---&gt;
  Pseudo Filesystems ---&gt;
    [*] /dev file system support (OBSOLETE)
      [ ]   Automatically mount at boot
</pre>

</body>
</section>
<section>
<title>Asetukset</title>
<body>

<p>
Jos haluat käyttää Gentohon lisättyjä udev-virityksiä, joiden tarkoitus on 
tehdä elämäsi helpommaksi, sinun ei tarvitse lukea tästä eteenpäin. Gentoo 
käyttää udeviä mutta säilyttää staattisen <path>/dev</path>-hakemiston, jotta 
Sinulta ei koskaan puuttuisi tarvittavia laitetiedostoja. Gentoon 
käynnistysskriptit eivät aja devfsd-palvelinta ja ne kytkevät käynnistyksen 
aikana devfs:n pois käytöstä.
</p>

<p>
Jos haluat kuitenkin ajaa ainoastaan udeviä käyttävää virittämätöntä 
järjestelmää, kuten udeviä kehitettäessä on tarpeen (ja kärsiä niistä 
vaikeuksista, jotka aiheutuvat udev-tuen puutteen vuoksi puuttuvista 
laitetiedostoista), ole hyvä ja lue eteenpäin :)
</p>

<p>
Poistamme säännöt, jotka tallentavat laitetiedostot: muokkaa 
<c>RC_DEVICE_TARBALL</c>-muuttujaa <path>/etc/conf.d/rc</path>-tiedostossa ja 
aseta sen arvoksi <c>no</c>:
</p>

<pre caption="/etc/conf.d/rc">
RC_DEVICE_TARBALL="no"
</pre>

<p>
Jos olet sisällyttänyt kerneliisi tuen devfs:lle, voit kytkeä sen pois 
käytöstä järjestelmälataajan asetuksista: lisää <c>gentoo=nodevfs</c> 
kernelin parametreihin. Jos haluat käyttää devfs:ää ja kytkeä udevin pois 
käytöstä, lisää <c>gentoo=noudev</c> kernelin parametreihin.
</p>

</body>
</section>
</chapter>

<chapter>
<title>Tunnetut ongelmat</title>
<section>
<title>Puuttuvat laitetiedostot käynnistyksen aikana</title>
<body>

<p>
Jos et pysty käynnistämään järjestelmääsi, koska saat virheilmoituksen 
<path>/dev/null</path>-tiedoston puuttumisesta tai koska konsoli puuttuu, 
ongelmasi on, että Sinulta puuttuu joitakin niistä laitetiedostoista, joiden 
on oltava olemassa <e>ennen kuin</e> <path>/dev</path> liitetään 
tiedostojärjestelmään ja se siirtyy udevin hallintaan. Tämä on tavallista 
Gentoo-järjestelmissä, jotka on asennettu vanhalta asennusmedialta.
</p>

<p>
Jos ajat <c>sys-apps/baselayout-1.8.12</c>:a tai uudempaa, tämä ongelma 
voidaan sivuuttaa, koska käynnistysprosessin pitäisi silti pystyä toimimaan. 
Jos kuitenkin haluat eroon ongelman aiheuttamista ärsyttävistä 
virheilmoituksista, Sinun tulisi luoda puuttuvat laitetiedostot allaolevien 
ohjeiden mukaisesti.
</p>

<p>
Nähdäksesi, mitkä laitetiedostot ovat saatavilla ennen kuin 
<path>/dev</path>-tiedostojärjestelmä liitetään, anna seuraavat komennot:
</p>

<pre caption="Käynnistyksen aikana saatavilla olevien laitetiedostojen 
listaaminen">
# <i>mkdir test</i>
# <i>mount --bind / test</i>
# <i>cd test/dev</i>
# <i>ls</i>
</pre>

<p>
Onnistuneeseen käynnistykseen tarvittavat tiedostot ovat 
<path>/dev/null</path> ja <path>/dev/console</path>. Jos ne eivätnäy 
äskeisessä testissä, Sinun on luotava ne käsin. Anna seuraavat komennot 
<path>test/dev</path>-hakemistossa:
</p>

<pre caption="Tarvittavien laitetiedostojen luominen">
# <i>mknod -m 660 console c 5 1</i>
# <i>mknod -m 660 null c 1 3</i>
</pre>

<p>
Kun olet valmis, älä unohda irroittaa <path>test/</path>-hakemistoa 
tiedostojärjestelmästä:
</p>

<pre caption="test/-hakemiston irroittaminen">
# <i>cd ../..</i>
# <i>umount test</i>
# <i>rmdir test</i>
</pre>

</body>
</section>
<section>
<title>udev ja nvidia</title>
<body>

<p>
Jos käytät nVidian suljettua ajuria ja X-palvelimesi ei käynnisty pelkkää 
udevia käyttävässä järjestelmässä, varmista, että Sinulla on
</p>

<ul>
  <li>
    <c>nvidia</c>-moduuli listattuna
    <path>/etc/modules.autoload.d/kernel-2.6</path>-tiedostossa,
  </li>
  <li>
    <c>nvidia-kernel</c>-paketista vähintään versio
    <c>media-video/nvidia-kernel-1.0.5336-r2</c> ja
  </li>
  <li>
    <c>baselayout</c>-paketista vähintään versio
    <c>sys-apps/baselayout-1.8.12</c>
  </li>
</ul>

</body>
</section>
<section>
<title>LVM2-nimet katoavat</title>
<body>

<p>
Kun käytät <c>udev</c>iä ja LVM2:ta yhdessä, saatat huomata luomiesi 
koosteryhmien <!-- volume groups --> ja loogisten koosteiden <!-- logical 
volumes --> kadonneen. Ne eivät varsinaisesti ole kadonneet, mutta 
valitettavasti ne on nimetty tyyliin <path>/dev/dm-#</path> missä # on 0, 
1, ...
</p>

<p>
Korjataksesi tämän muokkaa 
<path>/etc/udev/rules.d/50-udev.rules</path>-tiedostoa ja poista 
kommenttimerkki (#) seuraavan rivin edestä:
</p>

<pre caption="Poista kommentointi tältä riviltä 
tiedostosta /etc/udev/rules.d/50-udev.rules">
KERNEL="dm-[0-9]*",     PROGRAM="/sbin/devmap_name %M %m", NAME="%k", 
SYMLINK="%c"
</pre>

</body>
</section>
<section>
<title>Muita ongelmia</title>
<body>

<p>
Jos laitetiedostoja ei luoda automaattisesti, kun moduuli ladataan tiedostosta 
<path>/etc/modules.autoload.d/kernel-2.6</path>, mutta ne ilmestyvät kun 
lataat moduulin käsin <c>modprobe</c>-komennolla, Sinun tulisi päivittää 
<c>sys-apps/baselayout-1.8.12</c>:iin tai uudempaan.
</p>

<p>
Tuki framebuffer-laitteille (<path>/dev/fb/*</path>) sisältyy kerneliin 
versiosta 2.6.6-rc2 lähtien.
</p>

<p>
Mikäli kernelisi on vanhempi kuin 2.6.4, tulee Sinun erikseen valita tuki 
<path>/dev/pts</path>-tiedostojärjestelmälle.
</p>

<pre caption="/dev/pts-tiedostojärjestelmän aktivoiminen">
File systems ---&gt;
  Pseudo filesystems ---&gt;
    [*] /dev/pts file system for Unix98 PTYs
</pre>

</body>
</section>
</chapter>

<chapter>
<title>Resursseja ja tunnustusta</title>
<section>
<body>

<p>
Greg Kroah-Hartmanin (IBM Corporation) Linux Symposiumissa (Ottawa, Ontario 
Canada - 2003) pitämä udev-aiheinen puhe antoiohjeen kirjoittajalle vankan 
käsityksen udev-sovelluksesta.
</p>

<p>
<uri 
link="http://webpages.charter.net/decibelshelp/LinuxHelp_UDEVPrimer.html">Decibel's
UDEV Primer</uri> on syvällinen dokumentti udevistä ja Gentoosta.
</p>

<p>
Daniel Draken, erään Gentoo-kehittäjän, kirjoittama <uri 
link="http://www.reactivated.net/udevrules.php">Writing udev rules</uri> on 
erinomainen dokumentti, jos haluat oppia mukauttamaan udev-asennustasi.
</p>

</body>
</section>
</chapter>

</guide>





- -- 
Santtu Pajukanta <japsu@...>
OpenPGP key ID: 0x520A97CC
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)

iD8DBQFBVvsvZzmiiVIKl8wRAhmrAJ9KRhcs/HNz+QAoJKx1gXIJEWO6GQCfVvxe
8a8xPDa8mYEkVdFiJHKxCZs=
=ZaeT
-----END PGP SIGNATURE-----

--
gentoo-doc-fi@g.o mailing list

Navigation:
Lists: gentoo-doc-fi: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
index.xml: Etusivun indeksi
Next by thread:
openMosix-opas tarkistettavaksi
Previous by date:
Re: index.xml: Etusivun indeksi
Next by date:
openMosix-opas tarkistettavaksi


Updated Jun 17, 2009

Summary: Archive of the gentoo-doc-fi mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.