Ero sivun ”Ytimen moduulit” versioiden välillä
Siirry navigaatioon
Siirry hakuun
muutama selvennys
Pb (keskustelu | muokkaukset) (muutama selvennys) |
|||
Rivi 11: | Rivi 11: | ||
==Lataaminen ja hallinta== | ==Lataaminen ja hallinta== | ||
Useimmissa järjestelmissä käytetään [[udev]]ia tutkimaan laitteistoa käynnistyksen yhteydessä (coldplug) ja ajon aikana (hotplug) ja lataamaan laitteiden tunnisteiden perusteella oikeat (laiteajuri)moduulit. Jos jokin moduuli on riippuvainen toisten moduulien tarjoamista toiminnoista, ladataan myös nämä moduulit automaattisesti riippuvaisuustietokannan perusteella. | Useimmissa järjestelmissä käytetään [[udev]]ia tutkimaan laitteistoa käynnistyksen yhteydessä (coldplug) ja ajon aikana (hotplug) ja lataamaan laitteiden tunnisteiden (ks [[komentorivi|komennot]] <tt>[[lspci]]</tt> ja <tt>[[lsusb]]</tt>) perusteella oikeat (laiteajuri)moduulit. Jos jokin moduuli on riippuvainen toisten moduulien tarjoamista toiminnoista, ladataan myös nämä moduulit automaattisesti riippuvaisuustietokannan perusteella. | ||
Moduulitiedostot sisältävät listan siitä, mitkä tunnisteet omaavien laitteiden kanssa ne on tehty toimimaan. Jos esimerkiksi [[paketinhallinta|paketinhallinnan]] kautta asennetaan ulkopuolisia moduuleita, ovat ne näin valmiita käyttöön heti, kun moduulit on lisätty /lib/modules-hakemistoon (ja moduulien riippuvaisuustietokanta on päivitetty). Moduulien lataamiseen tarvitsee puuttua käsin vain poikkeustapauksissa. | Moduulitiedostot sisältävät listan siitä, mitkä tunnisteet omaavien laitteiden kanssa ne on tehty toimimaan. Jos esimerkiksi [[paketinhallinta|paketinhallinnan]] kautta asennetaan ulkopuolisia moduuleita, ovat ne näin valmiita käyttöön heti, kun moduulit on lisätty /lib/modules-hakemistoon (ja moduulien riippuvaisuustietokanta on päivitetty). Moduulien lataamiseen tarvitsee puuttua käsin vain poikkeustapauksissa. | ||
Rivi 32: | Rivi 32: | ||
Ulkopuoliset moduulit asennetaan yleensä binäärisinä (valmiiksi käännettyinä) versioina [[paketinhallintajärjestelmä|paketinhallinnan]] kautta. Moduulit ovat tällöin valmiiksi yhteensopivia jakelun oletusytimen kanssa. [[vapaa ohjelmisto|Ei-vapaiden]] moduulien (esimerkiksi [[näytönohjain]]ajurit) lataamiseen on usein käytettävä [[epäviralliset pakettilähteet|epävirallisia pakettivarastoja]]. | Ulkopuoliset moduulit asennetaan yleensä binäärisinä (valmiiksi käännettyinä) versioina [[paketinhallintajärjestelmä|paketinhallinnan]] kautta. Moduulit ovat tällöin valmiiksi yhteensopivia jakelun oletusytimen kanssa. [[vapaa ohjelmisto|Ei-vapaiden]] moduulien (esimerkiksi [[näytönohjain]]ajurit) lataamiseen on usein käytettävä [[epäviralliset pakettilähteet|epävirallisia pakettivarastoja]]. | ||
Jos ja kun ytimestä tulee uusi versio, on myös ulkopuolisten moduulien päivityttävä sitä tukeviksi. Jakelusta ja [[pakettivarasto]]sta riippuen tähän on kaksi menetelmää. Joko kaikista moduulipaketeista julkaistaan uudet versiot aina ytimen päivittyessä tai käytetään [[DKMS]] | Jos ja kun ytimestä tulee uusi versio, on myös ulkopuolisten moduulien päivityttävä sitä tukeviksi. Jakelusta ja [[pakettivarasto]]sta riippuen tähän on kaksi menetelmää. Joko kaikista moduulipaketeista julkaistaan uudet versiot aina ytimen päivittyessä tai käytetään [[akmod]]in ja [[DKMS]]:n kaltaisia järjestelmiä, jotka [[kääntäminen|kääntävät]] moduulit uudelleen aina havaittuaan ytimen päivittyneen. | ||
Ensimmäisen vaihtoehdon ongelmana on paketoinnin työläys ja mahdolliset tilapäiset riippuvaisuusongelmat. Jälkimmäisen vaihtoehdon kanssa ongelmaksi taas tulee vaatimus jonkin verran tilaa vievien [kehitystyökalut|[kehitystyökalujen]] asentamisesta. | |||
Jos paketinhallinnan kautta ei ole saatavilla haluttua moduulia tai sen versiota, on se käännettävä käsin [[lähdekoodi]]sta. Moduulin kääntämiseen tarvitaan ytimen kehityspaketit (paketit <tt>kernel-devel</tt>, <tt>kernel-dev</tt>, <tt>linux-devel</tt>, <tt>kernel-headers</tt>, <tt>linux-headers</tt> ym jakelusta riippuen) sekä moduulin kanssa yhteensopiva ytimen versio. Ajurikehittäjän sivulta ladattavan ajurin (yleensä [[tarball]]-muodossa) mukana toimitetaan tavallisesti <tt>README</tt>- ja <tt>INSTALL</tt>-tiedostot, joissa on lisätietoa kääntämisestä. | Jos paketinhallinnan kautta ei ole saatavilla haluttua moduulia tai sen versiota, on se käännettävä käsin [[lähdekoodi]]sta. Moduulin kääntämiseen tarvitaan ytimen kehityspaketit (paketit <tt>kernel-devel</tt>, <tt>kernel-dev</tt>, <tt>linux-devel</tt>, <tt>kernel-headers</tt>, <tt>linux-headers</tt> ym jakelusta riippuen) sekä moduulin kanssa yhteensopiva ytimen versio. Ajurikehittäjän sivulta ladattavan ajurin (yleensä [[tarball]]-muodossa) mukana toimitetaan tavallisesti <tt>README</tt>- ja <tt>INSTALL</tt>-tiedostot, joissa on lisätietoa kääntämisestä. |