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: Uusi versio udev-oppaan käännöksestä
Date: Sun, 26 Sep 2004 23:43:25 +0300
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hei,

Tässä on kääntämästäni udev-oppaasta uusi versio, jossa pahimmat 
kardinaalimunaukset on pyritty korjaamaan. Vastaavat tulee openMosix- ja 
DistCC-oppaistakin kunhan kerkeän (saattaa venyä tiistaihin).



<?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 sitä voidaan käyttää 
Gentoo-järjestelmässä.
</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 <path>/dev/hda1</path>:n käyttö on 
vain nopea tapa selittää, että tarkoitetaan ensisijaisen IDE-väylän 
isäntälaitteen ensimmäistä osiota. Vai tarkoitammeko?
</p>

<p>
Kaikki tietävät, mikä on laitetiedosto. Jotkut jopa tietävät, miksi 
laitetiedostoilla on erityiset numerot, kun katsomme niitä lähempää 
komentamalla <c>ls -l</c> <path>/dev</path>-hakemistossa. Ensinäkemältä se ei 
välttämättä siltä näytä, mutta kyseessä on rakennevika.
</p>

<p>
Ajatellaan laitteita, jotka voidaan yhdistää tietokoneeseen sen käydessä, 
esimerkiksi USB- ja IEEE1394-laitteita, lennossaliitettäviä PCI-laitteita... 
Mikä on ensimmäinen laite? Ja kuinka kauan? Eikö olisikin hauskaa, jos 
tulostustyö siirtyisi yhtäkkiä uudelta lasertulostimelta ikivanhalle 
puolikuolleelle matriisitulostimelle, koska joku päätti irroittaa 
mustesuihkutulostimen 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>käyttöjärjestelmän ytimen (engl. <e>kernel</e>) 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 käyttöjörjestelmän ytimen määrittämä nimi 
(laitteen oletusnimi) vastaa annettua merkkijonoa, korvaavaa nimeä käytetään.
</p>

<p>
Viimeinen vaihe (<e>käyttöjärjestelmän ytimen määrittämä nimi</e>) valitsee 
ytimen 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 ytimen 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>
Ydin 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öytyy myöskin 
symbolinen linkki udev-sovellukseen. Hotplug ohjaa ytimen 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 ytimien (kuten 
<c>development-sources</c> ja <c>gentoo-dev-sources</c>) kanssa. Jos 
tällainen ydin on käytössä, tarvitsee enää vain varmistaa, että asennettu 
versio <c>sys-apps/baselayout</c>-paketista on riittävän uusi.
</p>

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

<p>
udev asentaa <c>hotplug-base</c>-paketin yhtenä riippuvuuksistaan. Jos 
hotplugia aiotaan käyttää suorittamaan tiettyjä toimenpiteitä, kun koneeseen 
liitetään USB- tai IEEE1394-laitteita, tulee myös asentaa tarvittavat 
hotplug-skriptit.
</p>

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

<p>
Jos käytössä on <c>genkernel</c>illä käännetty ydin, kaikki on jo kunnossa 
ytimen osalta. Itse käännettyä ydintä käytettäessä tulee varmistaa, että 
seuraavat asetukset on valittu ytimen asetuksista:
</p>

<pre caption="Vaaditut ytimen 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>
<c>/dev file system support (OBSOLETE)</c> -valinnan voi jättää aktiiviseksit, 
mutta tällöin tulee varmistaa, 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 halutaan käyttää Gentohon lisättyjä udev-virityksiä, joiden tarkoitus on 
helpottaa elämää, ei allaolevia ohjeita tarvitse noudattaa. Tällöin Gentoo 
käyttää udeviä mutta säilyttää staattisen <path>/dev</path>-hakemiston, jotta 
tarvittavia laitetiedostoja ei koskaan puuttuisi. Gentoon käynnistysskriptit 
eivät aja devfsd-palvelinta ja ne kytkevät käynnistyksen aikana devfs:n pois 
käytöstä.
</p>

<p>
Seuraavaksi käsitellään tilannetta, jossa halutaan ajaa ainoastaan udeviä 
käyttävää virittelemätöntä järjestelmää (ja kärsiä niistä vaikeuksista, jotka 
aiheutuvat udev-tuen puutteen vuoksi puuttuvista laitetiedostoista). Tämä on 
tarpeen esimerkiksi udev-ohjelman kehitystyössä.
</p>

<p>
Poistetaan laitetiedostojen tallentaminen käytöstä muokkaamalla 
<c>RC_DEVICE_TARBALL</c>-muuttujaa <path>/etc/conf.d/rc</path>-tiedostossa:
</p>

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

<p>
Jos käytössä olevassa ytimessä on tuki devfs:lle, sen voi kytkeä pois käytöstä 
järjestelmälataajan asetuksista lisäämällä <c>gentoo=nodevfs</c> ytimen 
parametreihin. Vastaavasti devfs:ää käytettäessä udev voidaan kytkeä pois 
käytöstä lisäämällä <c>gentoo=noudev</c> ytimen parametreihin.
</p>

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

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

<p>
Jos järjestelmäsi ei käynnisty, vaan antaa virheilmoituksen 
<path>/dev/null</path>-tiedoston tai konsolin puuttumisesta, ongelmana on se, 
että jokin niistä laitetiedostoista puuttuu, 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 käytössä on <c>sys-apps/baselayout-1.8.12</c>:a tai uudempi, tämä ongelma 
voidaan sivuuttaa, koska käynnistysprosessinpitäisi silti pystyä toimimaan. 
Jos kuitenkin halutaan eroon ongelman aiheuttamista ärsyttävistä 
virheilmoituksista, tuleepuuttuvat laitetiedostot luoda allaolevien ohjeiden 
mukaisesti.
</p>

<p>
Lista ennen <path>/dev</path>-hakemiston liittämistä saatavilla olevista 
laitetiedostoista saadaan seuraavasti:
</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ä, ne on luotava käsin antamalla 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>
Tämän jälkeen kannattaa muistaa irroittaa <path>test/</path>-hakemisto 
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össä on nVidian suljettu ajuri ja X-palvelin ei käynnisty pelkkää 
udevia käyttävässä järjestelmässä, varmista, että
</p>

<ul>
  <li>
    <c>nvidia</c>-moduuli on listattu
    <path>/etc/modules.autoload.d/kernel-2.6</path>-tiedostossa
  </li>
  <li>
    <c>nvidia-kernel</c>-paketista on asennettu vähintään versio
    <c>media-video/nvidia-kernel-1.0.5336-r2</c>
  </li>
  <li>
    <c>baselayout</c>-paketista on asennettu 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 <c>udev</c>iä ja LVM2:ta käytetään yhdessä, saattaa näyttää siltä, että 
luodut levyasemaryhmät ja loogiset asemat ovatkadonneet. Ne eivät 
varsinaisesti ole kadonneet, mutta valitettavasti ne on nimetty tyyliin 
<path>/dev/dm-#</path> missä #on 0, 1, ...
</p>

<p>
Tämä korjataan muokkamalla 
<path>/etc/udev/rules.d/50-udev.rules</path>-tiedostoa ja poistamalla 
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 
moduuli ladataan käsin <c>modprobe</c>-komennolla, tulee baselayout-paketti 
päivittää versioon <c>sys-apps/baselayout-1.8.12</c> tai uudempaan.
</p>

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

<p>
Mikäli käyttöjärjestelmän ytimestä on käytössä versio, joka on vanhempi kuin 
2.6.4, <path>/dev/pts</path>-tiedostojärjestelmän tuki on erikseen valittava 
käyttöön.
</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)

iD8DBQFBVyn5ZzmiiVIKl8wRAlT/AKCuTWat85JRV7DRKlLkdJlZeWnXYwCgtHwJ
AFLL4kLyCXnTCcwU00LqVwU=
=wJ7p
-----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:
DistCC-opas tarkistettavaksi
Next by thread:
Kolmen kääntämäni oppaan tilanne
Previous by date:
DistCC-opas tarkistettavaksi
Next by date:
Kolmen kääntämäni oppaan tilanne


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.