Miksi pitäisi kääntää uusi ydin? Usein se ei olekaan välttämätöntä, sillä Debianin toimittama oletusydin toimii useimmissa laitekokoonpanoissa. Lisäksi Debianissa on usein tarjolla useita vaihtoehtoisia ytimiä. Niinpä kannattaa ensin tarkistaa onko paremmin laitteistoon sopiva vaihtoehtoinen ytimen paketti saatavilla. Saattaa kuitenkin olla hyödyllistä kääntää uusi ydin jotta:
laitteiston erikoisominaisuudet saadaan käytettyä, tai valmiiden ytimien aiheuttamat laitteistoristiriidat vältettyä
saadaan käyttöön ytimen valitsimet joita ei tueta valmiissa ytimissä (kuten 4 Gt muistin koko)
optimoidaan ydintä käynnistymisen nopeuttamiseksi poistamalla ajureita joita ei käytetä
tehdään staattisesti linkitetty ydin eikä moduuleja käyttävä
otetaan käyttöön päivitetty ydin tai ytimen kehitysversio
opiskellaan Linux-ytimestä lisää
Ei pidä pelätä ytimen kääntämistä. Se on hauskaa ja hyödyllistä.
Ytimen kääntämiseksi Debian-tavalla, on ensin asennettava muutamia paketteja: fakeroot
, kernel-package
, kernel-source-2.6
ja muutamia muita jotka luultavasti ovat jo asennettuina (katso täydellinen luettelo /usr/share/doc/kernel-package/README.gz
).
Tällä tavalla ytimen lähdekoodeista kootaan .deb-paketti, ja myös yhteensopiva riippuvaksi merkitty .deb ei-standardeista moduleista jos niitä käytetään. Tämä on parempi tapa käyttää useita ytimiä; hakemistoon /boot
tallennetaan ydin, System.map ja koostamisessa käytetty config-tiedosto.
Huomaa, ettei ole pakollista kääntää ydintä ”Debian-tavalla”; mutta mielestämme paketinhallinnan käyttäminen ytimien järjestyksessä pitämiseen on itse asiassa turvallisempaa ja helpompaa. Itse asiassa ytimen lähdekoodin voi noutaa suoraan Linusilta eikä paketista linux-source-2.6
ja silti kääntää ytimen kernel-package
-menetelmällä.
Huomaa paketin kernel-package
ohjeiden kokonaisuudessaan löytyvän hakemistosta /usr/share/doc/kernel-package
. Tässä luvun ohjeet opastavat lyhyesti kädestä pitäen ohjelman käytössä.
Tästä eteenpäin oletetaan käyttäjän voivan tehdä koneellaan mitä vain ja puretaan ytimen lähdekoodit kotihakemiston alle[27]. Myöskin oletetaan ytimen version olevan 2.6.32. Varmistu työhakemiston olevan hakemisto johon ytimen lähdekoodit puretaan, ja pura ne komennolla tar xjf /usr/src/linux-source-2.6.32.tar.bz2
ja vaihda työhakemistoksi linux-source-2.6.32
jonka komento teki.
Nyt on tehtävä ytimen asetukset. Komenna make xconfig
jos X11:n asetukset on tehty, se on asennettu ja käynnissä; muussa tapauksessa komenna make menuconfig
(libncurses5-dev
on oltava asennettuna). Lue käytönaikaiset ohjeet ajan kanssa ja valitse huolellisesti. Jos et ole varma, yleensä parempi ottaa mukaan laiteajuri (ohjelma joka huolehtii oheislaitteista kuiten verkkokorteista, SCSI-ohjaimista ja niin edelleen). On oltava varovainen: valitsimet jotka eivät liity johonkin tiettyyn laitteeseen on parasta jättää oletusarvoonsa jos et ymmärrä niitä. Älä unohda valita ”Kernel module loader” valikosta ”Loadable module support” (se ei ole valittuna oletusarvona). Jos sitä ei oteta mukaan, Debian-asennus kohtaa pulmia.
Siivoa lähdekoodipuu ja nollaa sovelluksen kernel-package
parametrit. Tämä tehdään komennolla make-kpkg clean
.
Nyt käännetään ydin komennolla fakeroot make-kpkg --initrd --revision=omaydin.1.0 kernel_image
. Versionumeron ”1.0” voi muuttaa mieleisekseen; sitä käytetään vain ytimen koosteiden versioiden nimeämiseen. Myöskin ”omaydin” tilalle voi kirjoittaa minkä tahansa sanan (esim. konenimen). Ytimen kääntäminen voi kestää hyvän tovin, riippuen kääntävän tietokoneen nopeudesta.
Kun käännös on valmis, oma ydin voidaan asentaa kuten mikä tahansa paketti. Pääkäyttäjänä komennetaan dpkg -i ../linux-image-2.6.32-
. Kohta subarchitecture
_custom.1.0_i386.debsubarchitecture
on valinnainen arkkitehtuurin muunnos, kuten ”686”, riippuen käytetyistä ytimen valinnoista. Komento dpkg -i
asentaa ytimen ja muutamia kivoja aputiedostoja. Esimerkiksi tiedosto System.map
asennetaan kuten pitää (se auttaa ytimen vikojen jäljityksessä), asennetaan myös tiedosto /boot/config-2.6.32
jossa on käytetyt ytimen asetukset. Uusi ytimen asennuspaketti on myöskin niin fiksu, että se automaattisesti päivittää käynnistyslataimen käyttämään uutta ydintä. Jos on tehty moduulien paketti, on sekin muistettava asentaa.
Nyt on aika tehdä uudelleenkäynnistys: yllä tehtyjen toimenpiteiden mahdollisesti näyttämät varoitukset on syytä lukea huolella, sitten tehdään shutdown -r now
.
Lisätietoja Debianin ytimistä ja ytimen kääntämisestä kertoo Debian Linux Kernel Handbook. Tarvittaessa lisää tietoa sovelluksesta kernel-package
, luetaan hienot ohjeet hakemistosta /usr/share/doc/kernel-package
.
[27] Ytimen lähdekoodit voi purkaa muuallekin ja kääntää muokatun ytimen, mutta kotihakemisto on yksinkertaisin koska ei tarvita erikoisoikeuksia.