Ero sivun ”Usein kysyttyjä kysymyksiä ytimestä” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(tuuning)
(parantelua)
Rivi 1: Rivi 1:
= Kernel - Usein kysyttyjä kysymyksiä =
== Miksi gigatavun muistista jää osa käyttämättä? ==
 
== Miksi 1 GiB:n muistista jää osa käyttämättä? ==


Tarkempi kuvaus ongelman syistä ja ratkaisuista löytyy mm. artikkelista [http://groups-beta.google.com/group/cn.bbs.comp.unix.development.kernel/browse_thread/thread/ae812c4736d7aa10/0d1cc7cecaf6671d?q=linux+kernel+ram+896+arcangeli&rnum=1&hl=en&fwc=1 High Memory in the Linux Kernel]. Ytimen versiosta 2.6.16 alkaen on mahdollista käyttää ratkaisua, jossa muutetaan kernelin muistinjakoa, jolloin ei tarvitse vielä turvautua highmem-tukeen, joka tuo oman overheadinsä. Vanhemmille ytimille tarvittava patch löytyy mm. [http://members.optusnet.com.au/ckolivas/kernel/ Con Kolivasin seteistä].
Tarkempi kuvaus ongelman syistä ja ratkaisuista löytyy mm. artikkelista [http://groups-beta.google.com/group/cn.bbs.comp.unix.development.kernel/browse_thread/thread/ae812c4736d7aa10/0d1cc7cecaf6671d?q=linux+kernel+ram+896+arcangeli&rnum=1&hl=en&fwc=1 High Memory in the Linux Kernel]. Ytimen versiosta 2.6.16 alkaen on mahdollista käyttää ratkaisua, jossa muutetaan kernelin muistinjakoa, jolloin ei tarvitse vielä turvautua highmem-tukeen, joka tuo oman overheadinsä. Vanhemmille ytimille tarvittava patch löytyy mm. [http://members.optusnet.com.au/ckolivas/kernel/ Con Kolivasin seteistä].
Rivi 13: Rivi 11:
Haittapuoli esimerkiksi 2G/2G jaosta on se, että user space virtuaalimuistiavaruus (prosessin maksimikoko) on enää 2 GiB entisen reilun 3GiB:n sijasta. Tämä estää esimerkiksi [[wine|winen]] toiminnan ja saattaa haitata prosesseja, jotka käyttävät matalan tason muistinhallintaa. Useimpia tämä ei kuitenkaan haittaa.
Haittapuoli esimerkiksi 2G/2G jaosta on se, että user space virtuaalimuistiavaruus (prosessin maksimikoko) on enää 2 GiB entisen reilun 3GiB:n sijasta. Tämä estää esimerkiksi [[wine|winen]] toiminnan ja saattaa haitata prosesseja, jotka käyttävät matalan tason muistinhallintaa. Useimpia tämä ei kuitenkaan haittaa.


== Patchsetit (eli korjauspaketit) ==
==Muutospaketit (engl. ''patchset'')==


Yleisimpiä patchsettejä ovat mm.
Yleisimpiä muutospaketteja ovat mm.


* mm (Andrew Mortonin kokeellinen patchset, tässä testataan paljon asioita)
* mm (Andrew Mortonin kokeellinen patchset, tässä testataan paljon asioita)
Rivi 23: Rivi 21:
* xx-rc (release candicate versio)
* xx-rc (release candicate versio)


  Nämä yleisimmät patchsetit löydät suoraan [http://www.kernel.org kernel.org]:ista.
  Nämä yleisimmät muutospaketit löydät suoraan [http://www.kernel.org kernel.org]:ista.


* [http://iphitus.loudas.com/archck.php beyond] ("archck, nitro"), ei kehitetä enää.
Vanilla on peruskerneli, eli tarkoittaa kernel.orgin virallista versiota. Korjauspaketeilla pyritään korjaamaan tai säätämään jotain kernelin ominaisuutta, esimerkiksi laitetukea tai vasteaikaa. Isommat patchsetit yleensä lisäävät paljon ominaisuuksia.
* [http://members.optusnet.com.au/ckolivas/kernel/ ck] (Con Kolivasin patchset, panostaa työpöytäkäytön vasteaikoihin). Ei kehitetä enää.
* [http://sourceforge.net/projects/wolk WOLK] (WOLK patchset lisää monia pätsejä monista projekteista. Se tähtää vakauteen, skaalautuvuuteen, suorituskykyyn, ja erityisesti turvallisuuteen. Tosin kehitystyö on näköjään loppunut kokonaan.)
 
Vanilla on peruskerneli, eli tarkoittaa kernel.orgin virallista versiota.
 
Korjauspaketeilla pyritään korjaamaan tai säätämään jotain kernelin ominaisuutta,  
esimerkiksi laitetukea tai vasteaikaa. Isommat patchsetit yleensä lisäävät paljon ominaisuuksia.


Korjauspaketti asennetaan komennolla  
Korjauspaketti asennetaan komennolla  
Rivi 46: Rivi 37:
Parametrillä vga=xxx voidaan määritellä framebuffer tilan resoluutio.
Parametrillä vga=xxx voidaan määritellä framebuffer tilan resoluutio.


== Kuinka kernel käännetään? ==
== Kuinka ydin käännetään? ==
[[Kernelin kääntäminen]] on ohjeistettuna tässä wikissä.
[[Ytimen kääntäminen]] on ohjeistettuna tässä wikissä.
 
== Kysy jotain? ==
 


[[Luokka:Järjestelmä]]
[[Luokka:Järjestelmä]]

Versio 16. maaliskuuta 2008 kello 14.28

Miksi gigatavun muistista jää osa käyttämättä?

Tarkempi kuvaus ongelman syistä ja ratkaisuista löytyy mm. artikkelista High Memory in the Linux Kernel. Ytimen versiosta 2.6.16 alkaen on mahdollista käyttää ratkaisua, jossa muutetaan kernelin muistinjakoa, jolloin ei tarvitse vielä turvautua highmem-tukeen, joka tuo oman overheadinsä. Vanhemmille ytimille tarvittava patch löytyy mm. Con Kolivasin seteistä. Muisti voidaan jakaa neljällä eri tavalla:

 * 3G/1G - vanha tapa, jossa muistia käytetään n. 896 MiB.
 * 3G/1G - Jako koneille, joissa on tasan 1 GiB muistia.
 * 2G/2G - Jako koneille, joissa on tasan 2 GiB muistia.
 * 1G/3G - Jako koneille, joissa on tasan 3 GiB muistia.

Haittapuoli esimerkiksi 2G/2G jaosta on se, että user space virtuaalimuistiavaruus (prosessin maksimikoko) on enää 2 GiB entisen reilun 3GiB:n sijasta. Tämä estää esimerkiksi winen toiminnan ja saattaa haitata prosesseja, jotka käyttävät matalan tason muistinhallintaa. Useimpia tämä ei kuitenkaan haittaa.

Muutospaketit (engl. patchset)

Yleisimpiä muutospaketteja ovat mm.

  • mm (Andrew Mortonin kokeellinen patchset, tässä testataan paljon asioita)
  • ac (Alan Coxin patchset, RedHat tuntuu käyttävän näitä osina paketointiaan)
  • xx-git (tarkoittaa että paketti on git paketoinnista)
  • xx-pre (prerelease-versio)
  • xx-rc (release candicate versio)
Nämä yleisimmät muutospaketit löydät suoraan kernel.org:ista.

Vanilla on peruskerneli, eli tarkoittaa kernel.orgin virallista versiota. Korjauspaketeilla pyritään korjaamaan tai säätämään jotain kernelin ominaisuutta, esimerkiksi laitetukea tai vasteaikaa. Isommat patchsetit yleensä lisäävät paljon ominaisuuksia.

Korjauspaketti asennetaan komennolla

patch -pN < polku patch-tiedostoon

N on poistettavien polkujen lukumäärä, yleensä vaihtelee 0-1 välillä. Tämän jälkeen ydin pitää vielä kääntää uusiksi.

Miten vältät yleisimmät ongelmat käynnistyksen yhteydessä

Parametri acpi=off voi auttaa bugiseen ACPI-toteutuksen kiertämiseen.

Parametria init=/bin/sh voi käyttää salasanan vaihtoon.

Parametrillä vga=xxx voidaan määritellä framebuffer tilan resoluutio.

Kuinka ydin käännetään?

Ytimen kääntäminen on ohjeistettuna tässä wikissä.