Ero sivun ”Ytimen moduulit” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p
→Ulkopuoliset moduulit: wikilinkin korjaus ym
Pb (keskustelu | muokkaukset) p (→Ulkopuoliset moduulit: wikilinkin korjaus ym) |
|||
(Yhtä välissä olevaa versiota samalta käyttäjältä ei näytetä) | |||
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 automaattisesti uudelleen aina havaittuaan ytimen päivittyneen. | ||
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. | 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 [[Portaali:Ohjelmistokehitys|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. Moduulin kehittäjän sivulta ladattavan lähdekoodin (yleensä [[tarball]]-muodossa) mukana toimitetaan tavallisesti <tt>README</tt>- ja <tt>INSTALL</tt>-tiedostot, joissa on lisätietoa kääntämisestä. | |||
==Initrd== | ==Initrd== |