Olen noita ytimiä kääntänyt Debianille eräänkin kappaleen niin voisin sanasen asiasta vaikka sanoakin.
Ohjeet ovat luonnollisesti minun Debian -osaamisen pohjalta, mutta täysin Debian pohjaisena Kubuntu/Ubuntuun niitä voinee soveltaa suoraan.
Ohjeet on kirjoitettu pääkäyttäjän tilassa tehtäviksi!Missio:
Halutaan kääntää jakeluun uusi ydin. Kysymys voi olla vaikkapa jonkin tuen lisäämisestä tai Linuxin ytimen virittämisestä huipputehoihin juuri omalle koneelle.
1. Asennetaan hieman tarvittavia työkaluja:apt-get update Päivitetään tiedot uusista paketeista
apt-get install vim make gcc module-init-tools kernel-package build-essential libncurses-dev Asennetaan kääntämiseen tarvittavia työkaluja. vim on itseasiassa vain tekstieditori mutta tarpeellinen silti. Mutta ei tosiaan pakollinen, eikä liity ytimen kääntämiseen.
2. Haetaan ydin:Esimerkissäni käytän nyt
kernel.org:n Vanilla ydintä. Tarkoitan siis ydintä, jota ei ole muunneltu mitenkään.
Tätä kirjoittaessani uusin ydin on
2.6.12.4cd /usr/src/wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.4.tar.bz23. Puretaan ydin ja tehdään symbolinen linkki silletar xvfj linux-2.6.12.4.tar.bz2 Puretaan paketti
ln -s linux-2.6.12.4 linux Tehdään symbolinen linkki
4. Konfiguroidaan ydin ja käännetään se asennuspaketiksicd linuxmake menuconfig Konfigurointi. Tiedä mitä teet!
make-kpkg clean Puhdistetaan mahdollisesti käännetty roina
make-kpkg –revision=2.6.12.4+xxxxxx kernel_image Määritellään nimi asennuspaketille ja aloitetaan kääntäminen. Tämä on pitkällinen prosessi riippuen paljon valituista moduuleista ja sisään rakennetuista tuista kuten myös luonnollisesti suorittimen tehosta. Aikaa menee puolesta tunnista useisiin tunteihin.
dpkg –i ../kernel-image-2.6.12.4+xxxxxx.deb Asennetaan luotu ydin
Uusi ydin on nyt käännetty ja asennettu. Vielä voi olla, että joudutaan tekemään initrd. Palaan tarvittaessa tähän asiaan myöhemmin. Mikäli initrd tarvitaan mutta se uupuu ilmenee se kernel panic:na. Tosin kernel panic voi johtua muustakin syystä. Tässä tapauksessa palaa käyttämään vanhaa ydintä ja korjaa vika.
Toivottavasti muistin kaiken. Katson jos vaikka kääntäisin juuri tuon uuden ytimen tänä iltana omia ohjeitani noudattaen niin saan korjattua ne heti.
Lisätty 19.08.2005INITRDElikkäs käänsin itselleni pari päivää sitten tuon 2.6.11.4 -ytimen ja hyvin pelasi. Inird piti myös minun tehä, joten lisäänpä sen nyt sitten tähän ohjeeseen. Aivan kuten sitä on selvästi kaipailtukin.
cd /bootmkinitrd –o initrd.img-2.6.11.4+xxx 2.6.11.4cd grupvim menu.lstEtsitään oikean ytimen merkintä ja lisätään
kernel -merkinnän alle:
initrd initrd.img-2.6.11.4+xxxTallennetaan ja käynnistetään uudelleen.
Noin.
Lisätty 03.01.2006Täällä on nyt ollut epäselvyyksiä tuon kääntämisen kanssa esimerkiksi ATI:n ja nVidian ajureissa. Kyllä ne pitää tosiaan kääntää moduliksi uudelleen mikäli kääntää uuden ytimen. Sehän ei kylläkään ole ollenkaan vaikeaa ja samallahan nuo päivittyvät uusimpaan versioon nekin.
Lisätty 01.04.2007Käänsin itselleni juuri uuden
2.6.20.4 ytimen Debian Etch -
vrd koneeseeni.
Alla
täsmälleen kaikki mitä kirjoitin. Koska Ubuntu/Kubuntu on Debian pohjainen järjestelmä pitäisi kääntäminen myös ko jakelulle onnistua ohetta käyttämällä. Itselläni on tietysti olemassa tuo kääntämäni deb-paketti ja senkin minulta halutessaan saa, mutta kannattaa muistaa, että se on tehty niinkin erikoiselle kokoonpanolle kuin VIA Epia V10000,
VIA C3 Nehemiah, ja näille ydin on myös ennen käännöstä optoimoitu.
apt-get install vim make gcc module-init-tools kernel-package build-essential libncurses-dev initrd-tools
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.4.tar.bz2
tar -jxvf linux-2.6.20.4.tar.bz2
ln -s linux-2.6.20.4.tar.bz2 linux
cd linux
cp /boot/config-2.6.18-4-686 .config
make menuconfig
make-kpkg –revision=2.6.12.4+vdr kernel_image
dpkg -i ../linux-image-2.6.20.4_2.6.20.4+vdr_i386.deb
cd /boot
mkinitrd -o initrd.img-2.6.20.4+vdr 2.6.20.4
cd grup
vim menu.lst
title Debian GNU/Linux, kernel 2.6.20.4
root (hd0,0)
kernel /vmlinuz-2.6.20.4 root=/dev/hda2 ro
initrd /initrd.img-2.6.20.4+vdr
savedefault
Last login: Sun Apr 1 10:17:13 2007 from 192.168.0.5
Linux VDR 2.6.20.4 #1 SMP Sat Mar 31 21:45:57 EEST 2007 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
VDR:~# uname -r
2.6.20.4
TaustaaKernel = käyttöjärjestelmän ydin on se osa järjestelmää, joka pitää sisällään mitä milloinkin ajetaan ja miten muistia hallitaan. Riippuen ytimen mallista se voi sisältää jopa piirtorutiineja (kuten. Windows XP ja vanhemmat ytimet)
Yleisesti ottaen tavallisella käyttäjällä ei pitäisi olla mitään tarvista kääntää uutta ydintä. Joskus se on kuitenkin tarpeellista mikäli valmiiksi käännetty versio ei sisällä niitä ajureita joita kohdejärjestelmä tarvitsee tai jos ydin hoitaa jotakin suppeaa asiaa.
Esimerkkejä:
Varsinkin monet edulliset ADSL -modeemit ovat Linux pohjaisia. Niissä ydin hoitaa esimerkiksi palomuurin virkaa (2.6.x sarjan ytimissähän palomuuri on käännettävissä suoraan ytimeen.) Näissä tehtävissä on luonnollisesti viisasta karsia ytimeltä turhia ominaisuuksia pois. Suorituskyvyn nostamiseksi ja muistin määrän minimoimiseksi.
Erikoistuneessa kotikäytössä Linux -järjestelmä voi esimerkiksi pyörittää digitaaliviritintä. Luonnollista on, ettei kaikille virittimille ole välttämättä käännetty tukea ytimeen jo valmiiksi. Voipa olla jopa niin, ettei koko tukea ole virallisessa kernel.org:n vanilla ytimessä ensinkään. Tällöin ytimen muotoa on muokattava (patch) ja uusi muokattu ydin käännettävä järjestelmän käyttöön.