Kirjoittaja Aihe: Uuden ytimen kääntäminen [kysytty]  (Luettu 171197 kertaa)

Vanadium

  • Käyttäjä
  • Viestejä: 16
    • Profiili
Uuden ytimen kääntäminen [kysytty]
« : 10.08.05 - klo:15.07 »
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.4
cd /usr/src/
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.4.tar.bz2

3. Puretaan ydin ja tehdään symbolinen linkki sille
tar 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 asennuspaketiksi
cd linux
make 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.2005

INITRD
Elikkä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 /boot
mkinitrd –o initrd.img-2.6.11.4+xxx 2.6.11.4
cd grup
vim menu.lst

Etsitään oikean ytimen merkintä ja lisätään kernel -merkinnän alle:
initrd initrd.img-2.6.11.4+xxx

Tallennetaan ja käynnistetään uudelleen.
Noin.


Lisätty 03.01.2006
Tää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.2007
Kää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.

Koodia: [Valitse]
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

Koodia: [Valitse]
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

Koodia: [Valitse]
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


Taustaa
Kernel = 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.
« Viimeksi muokattu: 16.08.08 - klo:13.34 kirjoittanut Kari Argillander »

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Re: Uuden ytimen kääntäminen
« Vastaus #1 : 10.08.05 - klo:18.04 »
minä en olekaan koskaan kääntänyt kernelistä .deb -pakettia. näyttää mielenkiintoiselta.

make menuconfig Konfigurointi. Tiedä mitä teet!

tämän sijaan on toki 2.6-sarjalaisilla mahdollista kirjoittaa myös:
make xconfig
tai
make gconfig

joista jälkimmäinen on jopa kelvollinen tapa konffata kerneli graafisessa tilassa, piesten vanhan ja tämän uuden xconfigin mennen tullen.
Janne

_Pete_

  • Käyttäjä
  • Viestejä: 1845
  • Fufufuuffuuu
    • Profiili
Re: Uuden ytimen kääntäminen
« Vastaus #2 : 18.08.05 - klo:09.11 »
<CUT>

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.


No nyt olisi hyvä palata tuon initrd:n tekoon, nimittäin kernel panic iskee käynnistettäessä näillä ohjeilla tehtyä omaa kerneliä.
Can't mount root file system tms.

Vaan onko niin, jos kaikki tarpeellinen on suoraan kernelissä eli ei moduuleina, initrd:tä ei tarvita? On jäänyt vähän hämärän peittoon
tämä initrd:n syvällinen olemus :)


janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Re: Uuden ytimen kääntäminen
« Vastaus #3 : 18.08.05 - klo:14.29 »
No nyt olisi hyvä palata tuon initrd:n tekoon, nimittäin kernel panic iskee käynnistettäessä näillä ohjeilla tehtyä omaa kerneliä.
Can't mount root file system tms.

Vaan onko niin, jos kaikki tarpeellinen on suoraan kernelissä eli ei moduuleina, initrd:tä ei tarvita? On jäänyt vähän hämärän peittoon
tämä initrd:n syvällinen olemus :)

periaatteessa jos kaikki boottaamiseen tarvittava on kernelissä initrd:tä ei tarvita (esim. käytetyn filesystemin ajuri on kernelissä). testasin kuitenkin tuota kernelin kääntöä deb-paketiksi (puolimalkaisesti, myönnetään) ja ainakin äkkiseltään tehtyjen asetusten jälkeen tuo kyllä kaipaili sitä initrd:tä. toisaalta otin kyllä kernelin sorsat suoraan paketinhallinnasta (2.6.11) ja tein muutokset ubuntun oletusten päälle (ja ubuntun kerneli vaatii tuon initrd:n). toisella koneella jossa on itseni kokonaan konffaama kerneli, initrd:tä ei kyllä tarvita. en jaksanut perehtyä mikä noissa on erilaista joten tein suosiolla tuon initrd:n.

joka tapauksessa, tuossa kun kokeilin tuota kääntöä, niin minulle selvisi parikin juttua ubuntun oletussetistä. jos haluaa konffata kernelin graafisesti (make gconfig), pitää sinulla olla asennettuna developement-versiot kirjastoista libglade2, gtk2 ja glib2. tämä hoituu seuraavasti:
Koodia: [Valitse]
$ sudo apt-get install libglade2-dev libgtk2.0-dev libglib2.0-dev
initrd:n luonti onnistuu vaikka seuraavalla tavalla:
Koodia: [Valitse]
$ sudo /usr/sbin/mkinitrd -o /boot/initrd.img-2.6.11 2.6.11
jossa tuo 2.6.11 on sen kernelin nimi jonka moduleita on tarkoitus käyttää. sen näkee vaikka kurkkaamalla hakemistoon /lib/modules.

sitten tietty urheilijoille varoituksen sana... käytetyt modulit pitää periaatteessa kääntää samaa kernelin versiota vasten. esim. nvidian ajurit eivät tule suoraan toimimaan itse käännetyn kernelin kanssa, vaan homma vaatii kikkailua.

Janne

E.K.Virtanen

  • Käyttäjä
  • Viestejä: 736
    • Profiili
    • Sähköaivoilua
Re: Uuden ytimen kääntäminen
« Vastaus #4 : 19.08.05 - klo:01.29 »
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.

Mulla tökkäs nyt tuohon make-... kohtaan. Rutisee jotta komentoa ei ole.
Teenkö nyt jotain väärin täällä? Olisi kiva saada tuo käännös pelittämään kun sain konffattua niin että se pelittäisi tätä mun vanhaa isa väyläistä mölykorttianikin.  8)

Minkäs verran noiden kaikkien muiden rautojen ajurit tuolla tilaa/vaivaa vievät? Kannattaako niitä sinne kovasti käännellä kun tämä nyt käytössä oleva paketti ei kait tule muuttumaan ainakaan noiden ajureita tarvitsevien rautojen osalta hyvään aikaan, ja kun näin joskus käy, lienee kernelin päivitys muutenkin jo ajankohtainen.

[EDIT]
Niinpä niin. Kun kaveri sen rautalangasta väänsi niin jo tajusin että sudo make...
[/EDIT]
« Viimeksi muokattu: 19.08.05 - klo:17.47 kirjoittanut lurah »

_Pete_

  • Käyttäjä
  • Viestejä: 1845
  • Fufufuuffuuu
    • Profiili
Re: Uuden ytimen kääntäminen
« Vastaus #5 : 19.08.05 - klo:09.35 »
No nyt olisi hyvä palata tuon initrd:n tekoon, nimittäin kernel panic iskee käynnistettäessä näillä ohjeilla tehtyä omaa kerneliä.
Can't mount root file system tms.

Vaan onko niin, jos kaikki tarpeellinen on suoraan kernelissä eli ei moduuleina, initrd:tä ei tarvita? On jäänyt vähän hämärän peittoon
tämä initrd:n syvällinen olemus :)

periaatteessa jos kaikki boottaamiseen tarvittava on kernelissä initrd:tä ei tarvita (esim. käytetyn filesystemin ajuri on kernelissä). testasin kuitenkin tuota kernelin kääntöä deb-paketiksi (puolimalkaisesti, myönnetään) ja ainakin äkkiseltään tehtyjen asetusten jälkeen tuo kyllä kaipaili sitä initrd:tä. toisaalta otin kyllä kernelin sorsat suoraan paketinhallinnasta (2.6.11) ja tein muutokset ubuntun oletusten päälle (ja ubuntun kerneli vaatii tuon initrd:n). toisella koneella jossa on itseni kokonaan konffaama kerneli, initrd:tä ei kyllä tarvita. en jaksanut perehtyä mikä noissa on erilaista joten tein suosiolla tuon initrd:n.

joka tapauksessa, tuossa kun kokeilin tuota kääntöä, niin minulle selvisi parikin juttua ubuntun oletussetistä. jos haluaa konffata kernelin graafisesti (make gconfig), pitää sinulla olla asennettuna developement-versiot kirjastoista libglade2, gtk2 ja glib2. tämä hoituu seuraavasti:
Koodia: [Valitse]
$ sudo apt-get install libglade2-dev libgtk2.0-dev libglib2.0-dev
initrd:n luonti onnistuu vaikka seuraavalla tavalla:
Koodia: [Valitse]
$ sudo /usr/sbin/mkinitrd -o /boot/initrd.img-2.6.11 2.6.11
jossa tuo 2.6.11 on sen kernelin nimi jonka moduleita on tarkoitus käyttää. sen näkee vaikka kurkkaamalla hakemistoon /lib/modules.

sitten tietty urheilijoille varoituksen sana... käytetyt modulit pitää periaatteessa kääntää samaa kernelin versiota vasten. esim. nvidian ajurit eivät tule suoraan toimimaan itse käännetyn kernelin kanssa, vaan homma vaatii kikkailua.




No niin.. Nyt alkoi homma pelittämään ja on uutuuttaan hohkaavan 2.6.12-5 kerneli käytössä. Samalla alkoi toimia ATI:n fglx driveritkin hieman paremmin...

Nyt kun alan karsimaan turhia ominaisuuksia configsta, pitääkö tehdä kokonaan tämä rumba:

make menuconfig
make-kpkg clean
make-kpkg –revision=2.6.12.4+xxxxxx kernel_image

Voiko tuon clean kohdan jättää välistä, muokkaa config:a ja tekee tuon viimeisen vaiheen + initrd:n ?


moonstone

  • Vieras
Re: Uuden ytimen kääntäminen
« Vastaus #6 : 19.08.05 - klo:13.01 »
initrd:n luonti onnistuu vaikka seuraavalla tavalla:
Koodia: [Valitse]
$ sudo /usr/sbin/mkinitrd -o /boot/initrd.img-2.6.11 2.6.11

Kannattaisikohan liittää tämä tuohon ihan ensimmäiseen postaukseen niin ei tartteisi uusien kernelikääntäjien selata koko aihetta alusta loppuun, että kääntö onnistuu?

Ainiin voisi myös tuohon ennen "make menuconfig" komentoa sisällyttää.

#cp /boot/config-2.6.10-xxxx /usr/src/linux/.config

ja sitten siellä menuconfigisissa "load alternative config (tai vastaava)" ja siitä hakea .config, jolloin nuo ubuntun kernelivalinnat sisältyy omaan kerneliin.
« Viimeksi muokattu: 19.08.05 - klo:13.57 kirjoittanut moonstone »

moonstone

  • Vieras
Re: Uuden ytimen kääntäminen
« Vastaus #7 : 20.08.05 - klo:16.05 »
Lainaus
mkinitrd –o initrd.img-2.6.11.4+xxx 2.6.11.4

Niin tuossa itse jouduin ainakin määrittämään vielä hakemiston jonne tuo initrd luodaan, eli näin:
mkinitrd -o /boot/initrd.img-2.6.12.5+oma 2.6.12.5

muuten se "katosi" jonnekkin.  ;D

Sapetsi

  • Käyttäjä
  • Viestejä: 45
    • Profiili
Re: Uuden ytimen kääntäminen
« Vastaus #8 : 25.08.05 - klo:16.10 »
Olisi pieni kysymys kun aloin tuon kernelin kääntämisn kanssa tuossa leikkimää.

Eli koitin tuossa muutama päivä sitten mennä tämän ohjeen mukaan ja aika pitkälle pääsinkin. Sain uuden kernelin rakennetuakin. Aloitin koittamalla versiota 2.6.12.5 jonka hain kernel.orgista ohjeen mukaan. En tosin saanut sitä toimimaan, luultavimmin juuri tuon initrd jutun takia. Koitin myös hakea version 2.6.10 apt-getin kanssa mutta lopputulos oli sama,  initrd oli tehty jotenkin väärin (oletan).

No luovuin sitten leikistä ja ajattelin että turha niitä paketteja on koneelle jättää makaamaan joten tyhjensin /usr/src hakemistosta kaiken mitä olin sinne laittanut. No eilen innostuin uudestaan leikkimään kernelin rakentamisen kanssa kun löysin hyvän ohjeen http://ubuntuforums.org/showthread.php?t=56835&page=1&pp=10. Rakentelin tuon mukaan pari koe vedosta ja hyvin toimii (lukuunottamatta että näyttis alkoi sekoilemaan, nvidian kunnon ajuri enää toiminut mutta se taitaa johtu asetuksista joita tein). Ihmetystä herätti vaan se että /usr/src hakemistossa oli ainakin jossain välissä /patch hakemisto mutta eipä se näy siellä enää olevan. Mihin ko. kansio on kadonnut ja onko se jotenkin tärkeä? En ollut katsonut että mitä kansiossa oli vai oliko siellä ylipäätään mitään. Oletan että se oli tullut kun otin kernelin sourcet apt-getin kanssa.

Toinen ihmetyksen aihe on että miksi apt-get ei hae kernel sourceja uudestaan? Kun kerran on hakenut apt-get install linux-tree käskyllä tuon virallisen paketin, ei käsky hae sitä linux-source-2.6.10.tar.bz2 pakettia enää uudestaan mikäli sen on sattunut poistamaan. Missä siis vika? Koitin monta kertaa mutta /usr/src hakemistoon ei ilmesty enää mitään...

Kai tämä vielä menee siihen että koko käyttis pitää uusia kun leikin niin ahkerasti tällä...  :D
New is now and will never be the same again...

Vanadium

  • Käyttäjä
  • Viestejä: 16
    • Profiili
Re: Uuden ytimen kääntäminen
« Vastaus #9 : 26.08.05 - klo:08.39 »
No luovuin sitten leikistä ja ajattelin että turha niitä paketteja on koneelle jättää makaamaan joten tyhjensin /usr/src hakemistosta kaiken mitä olin sinne laittanut. No eilen innostuin uudestaan leikkimään kernelin rakentamisen kanssa kun löysin hyvän ohjeen http://ubuntuforums.org/showthread.php?t=56835&page=1&pp=10. Rakentelin tuon mukaan pari koe vedosta ja hyvin toimii (lukuunottamatta että näyttis alkoi sekoilemaan, nvidian kunnon ajuri enää toiminut mutta se taitaa johtu asetuksista joita tein).
Kannattanee yrittää kääntää moduuli uudelleen. Luullakseni aiemmalle ytimellesi kääntämä moduli ei nyt sitten ole käypänen tämän uuden kanssa. Tämä tehdäksesi seuraa nVidian ohjeita.

Lainaus
Ihmetystä herätti vaan se että /usr/src hakemistossa oli ainakin jossain välissä /patch hakemisto mutta eipä se näy siellä enää olevan. Mihin ko. kansio on kadonnut ja onko se jotenkin tärkeä? En ollut katsonut että mitä kansiossa oli vai oliko siellä ylipäätään mitään. Oletan että se oli tullut kun otin kernelin sourcet apt-getin kanssa.
Tuohon en osaa vastata. Jos olet kansiosi tyhjentänyt rm -r * niin kaikkihan sieltä on todella lähtenyt. Mikäli olet jotain apt-getillä ottanut ja käsin poistanut niin apt-get paketti kannattanee poistattaa ja koittaa sitten ladata uudelleen. En ole joutunut tätä kylläkään koskaan tekemään mutta ehdottaisin näin.
apt-get remove xyz
apt-get install xyz

Lainaus
Kai tämä vielä menee siihen että koko käyttis pitää uusia kun leikin niin ahkerasti tällä...  :D
Enpä usko kyllä. Minusta et ole päässyt varsinaisesti laittamaan solmuun vielä yhtään mitään. Eiköhän se siitä kuitenkin taas ala rullata.

epv

  • Käyttäjä
  • Viestejä: 10
    • Profiili
Re: Uuden ytimen kääntäminen
« Vastaus #10 : 21.09.05 - klo:20.22 »
"Kernel panic - not syncing: VFS: Unable to mount root on unknown-block(0,0)"

tuollaista erroria antaa bootissa  ???

JPK1990

  • Vieras
Re: Uuden ytimen kääntäminen
« Vastaus #11 : 07.10.05 - klo:21.15 »
mitä tää ytimen kääntäminen tarkoittaa?? onkse hyödyllistä?? eli tää ydin niin onko se se pääohjelma jota prossu pyörittää?

LittleLion

  • Käyttäjä
  • Viestejä: 1232
    • Profiili
    • http://koti.mbnet.fi/littleli/
Re: Uuden ytimen kääntäminen
« Vastaus #12 : 07.10.05 - klo:21.29 »
mitä tää ytimen kääntäminen tarkoittaa?? onkse hyödyllistä?? eli tää ydin niin onko se se pääohjelma jota prossu pyörittää?
Eli käännetään Linux ydin (kerneli) lähdekoodista binääriksi. Tätä toimenpidettä saataa tarvita, jos vakio kerneli ei sisällä tarvittaavaa ajuria / ominaisuutta. Ja siitä ytimestähän se Linux nimi tulee eli eihän Linux distrossa ole muuta Linuxia, kuin ydin ja loput on muuta softaa yleensä GNU projektien tuottamaa ja julkaistu GNU GPL-lisenssin alla.

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Re: Uuden ytimen kääntäminen
« Vastaus #13 : 07.10.05 - klo:22.47 »
mitä tää ytimen kääntäminen tarkoittaa??

kuten tuossa jo tulikin, se tarkoittaa ytimen lähdekoodin kääntämistä (muuttamista) tietokoneen prosessorin ymmärtämään binäärimuotoon.

onkse hyödyllistä??

sikä kyllä, että jos kerneliä ei koskaan käännetä, ei sitä voida suorittaakaan. useimmissa tapauksissa kuintenkin joku muu on tehnyt kääntämisen sinun puolestasi, optioilla jotka riittävät sinulle. jos et tiedä, että sinun pitäisi kääntää kerneli, sinun ei tarvitse sitä tehdä.

eli tää ydin niin onko se se pääohjelma jota prossu pyörittää?

kyllä. periaatteessa kerneli on käyttöjärjestelmän ydin (tai tulkinnasta riippuen myös käyttöjärjestelmä). sen tehtävänä on hallita laitteen resursseja ja tarjota ohjelmille tapa päästä näihin laitteisiin käsiksi. tietyllä tapaa sen tehtävä on myös joissain tapauksissa estää laitteiston suora käsittely ja moniajokäyttöjärjestelmissä jakaa ohjelmille suoritusvuoroja siten, että kukaan ei jää liian pitkäksi aikaa ilman prosessoriaikaa.

työpöydälle käyttöjärjestelmä (tässä yhteydessä ydin) ei oikeastaan näy, mutten kuin siten, että pystyt käynnistämään ohjelmia ja ohjelmat vaikuttavat olevan suorituksessa yhtä aikaa.
Janne

JPK1990

  • Vieras
Re: Uuden ytimen kääntäminen
« Vastaus #14 : 14.10.05 - klo:18.35 »
mitkä jutskat kannattaa pistää ytimeen sisällettynä ja mitkä moduuleina, varmaan silleen oman harkinnan mukaan?
mikä on INITRD ja mitä se tekee?

JPK1990

  • Vieras
Re: Uuden ytimen kääntäminen
« Vastaus #15 : 14.10.05 - klo:22.54 »
"Kernel panic - not syncing: VFS: Unable to mount root on unknown-block(0,0)"

tuollaista erroria antaa bootissa ???
samaa mullakin ootko jo keksiny että mikä mättää???

JPK1990

  • Vieras
Re: Uuden ytimen kääntäminen
« Vastaus #16 : 15.10.05 - klo:11.24 »
Lainaus
make-kpkg –revision=2.6.12.4+xxxxxx kernel_image

Jos initrd:tä haluaa käyttää niin voi myös kokeilla
Koodia: [Valitse]
make-kpkg –revision=2.6.12.4+xxxxxx --initrd kernel_imagesilloin se sisällytetään tuohon pakettiin.

Jos käytätte tuota niin se valittaa jotain, että ei toimi cramfs:n kanssa, mutta sitä tuskin kovin moni PC:ssä / Mac:issä käyttää.

tein tämän ohjeen mukaan ja toimi ihan hyvin kunnes X käynnistyi tässä palanen tulosteesta

Lainaus
(EE)NVIDIA(0) failed to load the NVIDIA kernel module
(EE)NVIDIA(0) ***ABOTING***

incidence

  • Käyttäjä
  • Viestejä: 88
    • Profiili
    • ^^
Re: Uuden ytimen kääntäminen
« Vastaus #17 : 15.10.05 - klo:13.32 »
Hmm? Olen ollut tyytyväinen vakiokerneliin, mutta, kun uutta kerneliä pitäisi kääntää, niin toimivatko jotkut ohjelmat enään sen jälkeen? esim, radeonin ajurithan käännetään aina tiettyä kerneliä varten? pitääkö ne kääntää uudestaan? eikö vmwarekin käännetä sillä hetkellä käytössä olevalle kernelille?

Lähinnä tollasten kysymyksien takia en ole kerneleitä pahemmin käännellyt..
"Man fears the darkness, and so he scrapes away at the edges of it with fire"
—Rei Ayanami

<quote>
Cost of windows XP PRO on 7000 computers - 1,600,000$
Cost of Linux on 7000 computers - Priceless (and free)
</quote>

JPK1990

  • Vieras
Re: Uuden ytimen kääntäminen
« Vastaus #18 : 17.10.05 - klo:16.46 »
Hmm? Olen ollut tyytyväinen vakiokerneliin, mutta, kun uutta kerneliä pitäisi kääntää, niin toimivatko jotkut ohjelmat enään sen jälkeen? esim, radeonin ajurithan käännetään aina tiettyä kerneliä varten? pitääkö ne kääntää uudestaan? eikö vmwarekin käännetä sillä hetkellä käytössä olevalle kernelille?

Lähinnä tollasten kysymyksien takia en ole kerneleitä pahemmin käännellyt..
no tuota mulla oli niin hurjat ongelmat nvidian kans etten yritä kääntää piiitkäään aikaaan
-ajurit kestivät yhden käynnistyksen jonka jälkeen kuva sekos
-openGL ei toiminut>>mikään ei toiminut
joten jos olet tyytyväinen etkä tarvitse mitään käännetyn kernellin tarjoamaa erikoisuutta niin en suosittele mutta
onhan siinä kokeilemisen arvoinen juttu. ja hyvällä tuurilla päästään kiitettävään lopputulokseen.

incidence

  • Käyttäjä
  • Viestejä: 88
    • Profiili
    • ^^
Re: Uuden ytimen kääntäminen
« Vastaus #19 : 17.10.05 - klo:17.10 »
Hmm? Olen ollut tyytyväinen vakiokerneliin, mutta, kun uutta kerneliä pitäisi kääntää, niin toimivatko jotkut ohjelmat enään sen jälkeen? esim, radeonin ajurithan käännetään aina tiettyä kerneliä varten? pitääkö ne kääntää uudestaan? eikö vmwarekin käännetä sillä hetkellä käytössä olevalle kernelille?

Lähinnä tollasten kysymyksien takia en ole kerneleitä pahemmin käännellyt..
no tuota mulla oli niin hurjat ongelmat nvidian kans etten yritä kääntää piiitkäään aikaaan
-ajurit kestivät yhden käynnistyksen jonka jälkeen kuva sekos
-openGL ei toiminut>>mikään ei toiminut
joten jos olet tyytyväinen etkä tarvitse mitään käännetyn kernellin tarjoamaa erikoisuutta niin en suosittele mutta
onhan siinä kokeilemisen arvoinen juttu. ja hyvällä tuurilla päästään kiitettävään lopputulokseen.

Käytitkö pohjana vanhaa .config -tiedostoasi? joka on /boot -kansiossa
"Man fears the darkness, and so he scrapes away at the edges of it with fire"
—Rei Ayanami

<quote>
Cost of windows XP PRO on 7000 computers - 1,600,000$
Cost of Linux on 7000 computers - Priceless (and free)
</quote>