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

Linux.fista
Siirry navigaatioon Siirry hakuun
(→‎Miksi 1 Gt:n muistista jää osa käyttämättä?: Kerrottu 2.6.16:n highmem-vaihtoehdoista)
Rivi 1: Rivi 1:
= Kernel - Usein kysyttyjä kysymyksiä =
= Kernel - Usein kysyttyjä kysymyksiä =


== Miksi 1 Gt:n 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ä].
Muisti voidaan jakaa neljällä eri tavalla:
Muisti voidaan jakaa neljällä eri tavalla:


   * 3G/1G - vanha tapa, jossa muistia käytetään n. 900 MB.
   * 3G/1G - vanha tapa, jossa muistia käytetään n. 896 MiB.
   * 3G/1G - Jako koneille, joissa on tasan 1 GB muistia.
   * 3G/1G - Jako koneille, joissa on tasan 1 GiB muistia.
   * 2G/2G - Jako koneille, joissa on tasan 2 GB muistia.
   * 2G/2G - Jako koneille, joissa on tasan 2 GiB muistia.
   * 1G/3G - Jako koneille, joissa on tasan 3 GB 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 Gt entisen 3 Gt:n sijasta, mutta kotikäyttäjää sen ei pitäisi koskettaa millään tavalla.
   Haittapuoli esimerkiksi 2G/2G jaosta on se, että user space virtuaalimuistiavaruus (prosessin maksimikoko) on enää 2 GiB entisen reilun 3GiB:n sijasta, mutta kotikäyttäjää sen ei pitäisi koskettaa millään tavalla.


== Patchsetit (eli korjauspaketit) ==
== Patchsetit (eli korjauspaketit) ==

Versio 7. toukokuuta 2006 kello 10.53

Kernel - Usein kysyttyjä kysymyksiä

Miksi 1 GiB:n 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, mutta kotikäyttäjää sen ei pitäisi koskettaa millään tavalla.

Patchsetit (eli korjauspaketit)

Yleisimpiä patchsettejä 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 patchsetit löydät suoraan kernel.org:ista.

- archCK ("cko reloaded")
- ck (Con Kolivasin patchset, panostaa työpöytäkäytön vasteaikoihin)


Vanilla on peruskerneli, eli tarkoittaa Linus Torvaldsin kernel-paketointia.

Korjauspaketeilla pyritään korjaamaan tai säätämään jotain kernelin ominaisuutta, esimerkiksi laitetukea. Isommat patchsetit yleensä lisäävät paljon ominaisuuksia.

Korjauspaketti asennetaan komennolla patch -pN < polku patchiin (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 kernel käännetään?

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

Kysy jotain?