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

LittleLion

  • Käyttäjä
  • Viestejä: 1232
    • Profiili
    • http://koti.mbnet.fi/littleli/
Re: Uuden ytimen kääntäminen
« Vastaus #40 : 01.01.06 - klo:19.39 »
kun toi kerneli käännetään tosta fullsourcesta ja asennetaan .deb tiedostosta niin asentaako se samalla moduulit ja headerit? jos toi nvidia official niitä tarttee.

Modulit asentuvat kyllä mutta headereitä ei vaan tuo source kansio, jossa tuon kernelin käännät toimii sen jälkeen source/headers kansiona.

JPK1990

  • Vieras
Re: Uuden ytimen kääntäminen
« Vastaus #41 : 01.01.06 - klo:19.52 »
niin se linux linkki  :) kiitos tiedosta!

JPK1990

  • Vieras
Re: Uuden ytimen kääntäminen
« Vastaus #42 : 03.01.06 - klo:16.06 »
nonii eli kysymys ext2 ja ext3 tuesta kernelissä eli voiko ne olla samaan aikaan molemman included, vai kannattaako valita vain jompi kumpi ja miten ne toimii ristiin?

LittleLion

  • Käyttäjä
  • Viestejä: 1232
    • Profiili
    • http://koti.mbnet.fi/littleli/
Re: Uuden ytimen kääntäminen
« Vastaus #43 : 03.01.06 - klo:16.22 »
nonii eli kysymys ext2 ja ext3 tuesta kernelissä eli voiko ne olla samaan aikaan molemman included,

Voi olla. Ja eikös esim Ubuntun konffissa olekkin.

JPK1990

  • Vieras
Re: Uuden ytimen kääntäminen
« Vastaus #44 : 03.01.06 - klo:16.29 »
ext2 on kiinteä ja ext3 on moduuli

Vanadium

  • Käyttäjä
  • Viestejä: 16
    • Profiili
Re: Uuden ytimen kääntäminen
« Vastaus #45 : 03.01.06 - klo:21.25 »
Koska yllättävän moni harrastaja on nähnyt ilmoituksen:
"Kernel panic - not syncing: VFS: Unable to mount root on unknown-block(0,0)"

Niin minun lienee syytä katsoa peiliin huonojen ohjeiden vuoksi ja käydä koko prosessi tässä läpi oikein kunnolla kohta kohdalta. Käännän nyt ytimen myös itse ja kirjoitan orjallisesti kaikki käskyt mitä annan. Käännän nyt sitten eilen ilmestyneen 2.6.15 -ytimen ihan teitä varten. :)

Käytän nyt kokoonpanona Kubuntu Breezy 5.10 -Linux jakelua. Tällä hetkellä minulla toimii ytimenä valmistajan itsensä kääntämä ja jakelema 2.6.12.4-9-686 eli ProPentium käskykannalle käännetty ydin. Oletuksena jakelussa on käytössä 2.6.12.4-9-383 eli aika paljon vanhemmalle käskykannalle tarkoitettu ydin. Minulla on nVidian ajuri jo asennettuna ja haluan käyttää sitä jatkossakin. Päivitän sen myös samalla.


Aloitetaan:

Käyn hakemassa nVidian sivuilta uusimman ajurin.

su root Pääkäyttäjän tila. Jos jollakulla ei ole sitä aktivoituna niin muistaapi sitten aina käyttää tuota sudo -käskyä sitten edessä.

cd /usr/src/
apt-get update päivitetään apt tietokanta
apt-get install vim make gcc module-init-tools kernel-package initrd-tools build-essential libncurses-dev päivitetään kääntämistyökalut uusimpiin mahdollisiin
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.tar.bz2 ladataan uusi, hieno ydin  :-*
tar xvfj linux-2.6.15.tar.bz2 puretaan ydin
ln -s linux-2.6.15 linux tehdään symboolinen linkki sille
cd linux
cp /boot/config-2.6.12-9-686 ./.config haetaan vanhan ytimen config tiedosto. Valmistaja on osannut yleensä tehdä ihan hyvän configin. Niin, ja he tietävät varmasti muutenkin ytimien tekemisestä enemmän kuin minä, joten luotetaan heihin.
make menuconfig Lisäillään tai poistellaan osioita joita ei varmasti tarvita tai varmasti tarvitaan. Minä esimerkiksi määritän malliksi tarkasti oikean suorittimen. Minulla on Athlon, joten vaihdan PentiumPro käskykannan AMD Athlon käskykantaan.
make-kpkg clean puhdistan mahdollisesti aiemmin käännetyn ryönän
make-kpkg -revision=2.6.15+athlon kernel_image käännän ytimen, nimeksi hienosti muutetun suorittimen mukaan athlon

Koneen tehoista riippuen kääntämiseen menee noin tunti. Ehtii siis aika mukavasti käydä kävelyllä nauttimassa raitista ilmaa. Niin minä ainakin teen...  ;)

dpkg -i ../kernel-image-2.6.15_2.6.15+athlon_i386.deb asennetaan juuri tehty deb -paketti
Koska en määrännyt yhtäkään tiedostojärjestelmää käännettäväksi suoraan ytimeen vaan ne ovat kaikki moduuleina tarvitsen varmasti initrd:n, joten teen sen jo samoin tein.
cd /boot
mkinitrd -o /boot/initrd.img-2.6.15+athlon 2.6.15
cd grub
vim menu.lst

Lisätään initrd ytimen käynnistämisen yhteyteen. Se onnistuu etsimällä juuri asennetun ytimen kohta:
Lainaus
kernel      /boot/vmlinuz-2.6.15 root=/dev/hda1 ro quiet splash
Ja lisäämällä sen alle juuri tehty initrd:
initrd      /boot/initrd.img-2.6.15+athlon
reboot

Mikäli aiemmin on asennettu joko nVidian tai ATI:n ajuri, voi nyt hyvinkin käydä niin, ettei järjestelmä käynnistykään X-tilaan.
Tämä koska aiemmin käännetty moduli tuskin pelaa uuden ytimen kanssa.  >:( Käännetään nyt sitten se.

su root pääkäyttäjän tila!
/etc/init.d/kdm stop
Lainaus
Mikäli jollakulla on vielä sellainen ajuri, joka vaatii gcc-3.4:n niin sen saa käyttöönsä näin:
CC=gcc-3.4
export CC

chmod 700 NVIDIA-Linux-x86-1.0-8178-pkg1.run Annetaan tiedostolle suoritusoikeus
./NVIDIA-Linux-x86-1.0-8178-pkg1.run
reboot


Ja näin se käy. Kaikki pitäisi nyt pelata hyvin. Minulla ainakin toimi ja kopioin tekstitiedostoon kaiken mitä jouduin kirjoittamaan. Jos ongelmia on niin tuumataan niitä porukassa. :)
« Viimeksi muokattu: 03.01.06 - klo:21.26 kirjoittanut Vanadium »

_Pete_

  • Käyttäjä
  • Viestejä: 1836
  • Fufufuuffuuu
    • Profiili
Re: Uuden ytimen kääntäminen
« Vastaus #46 : 04.01.06 - klo:10.00 »

chmod 700 NVIDIA-Linux-x86-1.0-8178-pkg1.run Annetaan tiedostolle suoritusoikeus
./NVIDIA-Linux-x86-1.0-8178-pkg1.run
reboot


Ja näin se käy. Kaikki pitäisi nyt pelata hyvin. Minulla ainakin toimi ja kopioin tekstitiedostoon kaiken mitä jouduin kirjoittamaan. Jos ongelmia on niin tuumataan niitä porukassa. :)


Viimeisen reboot:n voi jättää välistä ja suoraan käynnistää loginmanagerin :)


Vanadium

  • Käyttäjä
  • Viestejä: 16
    • Profiili
Re: Uuden ytimen kääntäminen
« Vastaus #47 : 04.01.06 - klo:11.40 »
Viimeisen reboot:n voi jättää välistä ja suoraan käynnistää loginmanagerin :)

Sehän on juurikin näin. Tuolta toosapuolelta tahtoo tuo reboot tulla patenttiratkaisuna joka paikkaan.

JPK1990

  • Vieras
Re: Uuden ytimen kääntäminen
« Vastaus #48 : 04.01.06 - klo:22.12 »
ja jos on ollut käytössä repolan nvidia-glx niin joutuu poistamaan muutaman jutun http://www.ubuntulinux.org/support/documentation/faq/Official_nVidia
tänään koitan tuota ohjetta käytännössä, saa nähdä onnistaako.

JPK1990

  • Vieras
Re: Uuden ytimen k[][]nt[]minen
« Vastaus #49 : 06.01.06 - klo:12.09 »
noniii nyt men s;rsseliks! k''pi n'in grub avaa kernelin 2.6.15 jonka j'lkeen tulee hieman teksti' jonka j'lkeen n'ytt; pamahtaa mustaksi v'h'n ajan p''st' nvidia logo rupee vilkkumaan n'yt;ll' tyyliin p''lle sitten mustaks p''lle mustaks sitten ruinausta Xlt' mik'h'n vikana? yrt'n saada nuo log filut t'nne jos saisin toimimaan ton axeftpn ja samalla testailen Damn small linuxia aika karu on nimitt'in

LittleLion

  • Käyttäjä
  • Viestejä: 1232
    • Profiili
    • http://koti.mbnet.fi/littleli/
Re: Uuden ytimen k[][]nt[]minen
« Vastaus #50 : 06.01.06 - klo:12.57 »
noniii nyt men s;rsseliks! k''pi n'in grub avaa kernelin 2.6.15 jonka j'lkeen tulee hieman teksti' jonka j'lkeen n'ytt; pamahtaa mustaksi v'h'n ajan p''st' nvidia logo rupee vilkkumaan n'yt;ll' tyyliin p''lle sitten mustaks p''lle mustaks sitten ruinausta Xlt' mik'h'n vikana? yrt'n saada nuo log filut t'nne jos saisin toimimaan ton axeftpn ja samalla testailen Damn small linuxia aika karu on nimitt'in

Uusimmassa mikrobitissä sanoivat, että tuossa viassa kannattaa koittaa BIOS:sin päivittämistä. On kulma aika yleinen ratkaisu tuohon ongelmaan.

JPK1990

  • Vieras
Re: Uuden ytimen kääntäminen
« Vastaus #51 : 06.01.06 - klo:18.42 »
ent's  vaikkuvavatko kernelin vga, vesa vga, nvidia tai riva moduulit mitenk''n  tuon ajurin toimintaan? ent's pingu logo?

tuke81

  • Käyttäjä
  • Viestejä: 1667
    • Profiili
Re: Uuden ytimen kääntäminen
« Vastaus #52 : 06.01.06 - klo:18.51 »
Lainaus
ent's  vaikkuvavatko kernelin vga, vesa vga, nvidia tai riva moduulit mitenk''n  tuon ajurin toimintaan? ent's pingu logo?

Jostakin mie luin että tuo riva tnt tuki kannattaa poistaa kernelistä jos käyttää nvidian kortteja. Saattaa kuulemma sekoittaa konetta(taisi olla jossain debian käännösohjeissa) Eli siis qconfissa(tai menuconfissa) eti tuki riva korteille ruksi pois. DMA:tkin kannattaa asettaa kernelistä suoraan päälle, jossain siellä oli kohta dma disk only, josta ruksi pois. Ja jos haulat nvidia-glx käyttää repoista hommaa ennen kääntöä nvidian sorsat ja käännä ne ytimen käännön yhteydessä.
Miksi tehdä jotain helposti, kun sen voi tehdä vaikeastikin...

JPK1990

  • Vieras
Re: Uuden ytimen kääntäminen
« Vastaus #53 : 06.01.06 - klo:19.22 »
m'kin luin yhest' debian 2.2 ohjeesta ett' tommonen shadow juttu kannattaa pist'' pois p''lt' tuolta  biosista
http://www.debian.org/releases/potato/i386/ch-preparing.fi.html

JPK1990

  • Vieras
Re: Uuden ytimen kääntäminen
« Vastaus #54 : 07.01.06 - klo:18.43 »
Nonii nyt meikä on isä papan koneella ja kysyisin että miten tuo kernelin käännön yhteydessä tehtävä nvidia juttu tehään oliko se että se puretaan jotenkin ja sitten pistetään /usr/src kansioon? entäs parantaakose jotenkin toimivuutta?  sitten pitikin kertoa että mistä ehkä se johtuu että se ei mulla toiminut sillä mulla oli joku header paketti asennettuna versiota 2.6.11 tai jotain yritin sitten komentorivilla poistaa sitä ja keksin päästä nimiä: -olikohan se linux-kernel-headers? pistin removella ja yllättäin puuttui libc6-dev ja ncurces-dev paketit peruna  :) no asensin ne takas ja sitten rupesin palauttelemaan järjestelmää alkutilaan niin perhana laajakaista yhteys katkes kesken nvidia-glx latausta ja on vieläkin poikki. -Siitä se lähtee!

PS. onko toi nvidian virallinen ajuri lähdekoodipaketti vai binääri?

tuke81

  • Käyttäjä
  • Viestejä: 1667
    • Profiili
Re: Uuden ytimen kääntäminen
« Vastaus #55 : 08.01.06 - klo:02.58 »
Nonii nyt meikä on isä papan koneella ja kysyisin että miten tuo kernelin käännön yhteydessä tehtävä nvidia juttu tehään oliko se että se puretaan jotenkin ja sitten pistetään /usr/src kansioon?

Eli siis ennen kääntöä asennetaan nvidia-kernel-source paketti:
Koodia: [Valitse]
sudo apt-get install nvidia-kernel-sourceTämä tekee nvidia-kernel-source.tar.gz paketin kansioon /usr/src. Eli se pitää purkaa eli esim.
Koodia: [Valitse]
cd /usr/src
sudo tar -xvf nvidia-kernel-source.tar.gz

Tämän jälkeen voimme aloittaa käännön:
Koodia: [Valitse]
cd /usr/src/linux
sudo make-kpkg clean
sudo make-kpkg --initrd --append-to-version=-joku_nimi kernel_image kernel_headers modules_image

Käännöksen jälkeen pitäisi olla käännetylle kernelille sopiva nvidian-kernel debian paketti /usr/src -kansiossa, joka pitää vielä asentaa.
http://www.ubuntuforums.org/showthread.php?t=85064
Miksi tehdä jotain helposti, kun sen voi tehdä vaikeastikin...

JPK1990

  • Vieras
Re: Uuden ytimen kääntäminen
« Vastaus #56 : 08.01.06 - klo:18.27 »
Tai jos haluaa varmasti ihan uusimman niin NVIDIA-Linux-x86-1.0-8174-pkg1.run parametrinä -x purkaa sisällön. Toi repolan kautta tehtävä on harmasti helpoin tapa mutta versio on 7667  :(

tuke81

  • Käyttäjä
  • Viestejä: 1667
    • Profiili
Re: Uuden ytimen kääntäminen
« Vastaus #57 : 08.01.06 - klo:20.23 »
Tai jos haluaa varmasti ihan uusimman niin NVIDIA-Linux-x86-1.0-8174-pkg1.run parametrinä -x purkaa sisällön. Toi repolan kautta tehtävä on harmasti helpoin tapa mutta versio on 7667  :(

Eli sinä siis haluat asentaa Nvidian uusimman virallisen paketin. Eli poista ensin kaikki edelliset nvidian ajurit koneeltasi, nvidia-glx, nvidia-settings ja nvidia kernel modulet katso tuolta mitkä kaikki. Sitten voitkin asentaa tuon viralisen paketin miten Vanadium sen tuossa neuvoo:
Lainaus
chmod 700 NVIDIA-Linux-x86-1.0-8178-pkg1.run Annetaan tiedostolle suoritusoikeus
./NVIDIA-Linux-x86-1.0-8178-pkg1.run
reboot

Tossa virallisessa ajurissa on kaikki kolme mukana: kernel-module, nvidia-glx ja nvidia-settings. Debian on vain mokomat pilkkonut osiin.
Miksi tehdä jotain helposti, kun sen voi tehdä vaikeastikin...

macoute

  • Käyttäjä
  • Viestejä: 26
    • Profiili
Re: Uuden ytimen kääntäminen
« Vastaus #58 : 12.01.06 - klo:19.28 »
En nyt ymmärrä missä on vika. Kun teen
Koodia: [Valitse]
make menuconfig/tai xconfig tai mitä vaan, niin vastaukseksi tulee seuraava:

Koodia: [Valitse]
  HOSTCC  scripts/basic/fixdep
In file included from /usr/include/bits/posix1_lim.h:153,
                 from /usr/include/limits.h:144,
                 from /usr/lib/gcc/i486-linux-gnu/3.4.5/include/limits.h:122,
                 from /usr/lib/gcc/i486-linux-gnu/3.4.5/include/syslimits.h:7,
                 from /usr/lib/gcc/i486-linux-gnu/3.4.5/include/limits.h:11,
                 from scripts/basic/fixdep.c:113:
/usr/include/bits/local_lim.h:36:26: linux/limits.h: Tiedostoa tai hakemistoa ei ole
In file included from /usr/include/sys/socket.h:35,
                 from /usr/include/netinet/in.h:24,
                 from /usr/include/arpa/inet.h:23,
                 from scripts/basic/fixdep.c:115:
/usr/include/bits/socket.h:304:24: asm/socket.h: Tiedostoa tai hakemistoa ei ole
scripts/basic/fixdep.c: In function `use_config':
scripts/basic/fixdep.c:201: error: `PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:201: error: (Each undeclared identifier is reported only once
scripts/basic/fixdep.c:201: error: for each function it appears in.)
scripts/basic/fixdep.c:201: warning: unused variable `s'
scripts/basic/fixdep.c: In function `parse_dep_file':
scripts/basic/fixdep.c:297: error: `PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:297: warning: unused variable `s'
make[1]: *** [scripts/basic/fixdep] Error 1
make: *** [scripts_basic] Error 2

Mikäköhän tässä on vikana? Ennen olen onnistunut kernelin kääntämäänkin.

JPK1990

  • Vieras
Re: Uuden ytimen kääntäminen
« Vastaus #59 : 12.01.06 - klo:20.11 »
puuttuu jottain koita nää.
Koodia: [Valitse]
sudo apt-get update
Koodia: [Valitse]
sudo apt-get install vim make gcc module-init-tools kernel-package initrd-tools build-essential libncurses-dev
mikä toi /usr/include hakemisto oo? joku kääntämiseen liittyvä?
« Viimeksi muokattu: 12.01.06 - klo:20.13 kirjoittanut JPK1990 »