Usein kysyttyjä kysymyksiä ytimestä
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. Tämä estää esimerkiksi winen toiminnan ja saattaa haitata prosesseja, jotka käyttävät matalan tason muistinhallintaa. Useimpia tämä ei kuitenkaan haittaa.
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.
- beyond ("archck, nitro"), ei kehitetä enää.
- ck (Con Kolivasin patchset, panostaa työpöytäkäytön vasteaikoihin). Ei kehitetä enää.
- 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
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 kernel käännetään?
Kernelin kääntäminen on ohjeistettuna tässä wikissä.