Ebben a bejegyzésben röviden bemutatom hogyan lehet az utolsó Stable, azaz stabil verziójú kernelt saját számítógépünk hardvereihez igazítva fordítani, konfigurálni, telepíteni és használni.

  1. Új kernelek használatához akkor folyamodjunk, ha:
    • Valamilyen hardverünk nem igazán úgy működik ahogy kéne
    • Ha elég jól ismerjük a hardvereszközeinket, a szükségtelen kernelmodulokat eltávolíthatjuk a kernel konfigurálásakor, így az új kernellel a Bootoláshoz szükséges idő lerövidülhet
    • Linux mélyebb megismerése, tanulás, hasznos időtöltés céljából
  2. Ellenőrizzük, hogy Generic Kernel megfelel-e elképzeléseinknek, mert ha igen, akkor magát a kernelfordítást kihagyhatjuk, Ubunturól lévén szó, Generic Kernelek elérhetőek DEB formátumban:

  1. Kernel forrás letöltése és elhelyezése

    • Navigáljunk el a következő oldalra: http://kernel.org/
    • Itt mindjárt a főoldalon elolvashatjuk a legutolsó stabil kernel változásait ( Changelog )
    • Alul látni a magyarázatot a betűjeleknek, nekünk az “F”-re lesz szükségünk ( Full Source )
    • Töltsük le a Full Source, rákattintva az “F” betűre. ( http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.XX.X.tar.bz2 )

    kernel1

    • Mozgassuk a kernel forrást a következő helyre: /usr/src
  2. Kernelfordtáshoz szükséges csomagok telepítése
    • sudo apt-get install kernel-package libncurses5-dev fakeroot wget bzip2
  3. Kernel forrás kicsomagolása Szimbolikus link létrehozása
    • Szerezzünk rendszergazdai jogosultságot:
    • sudo su
    • Hajtsuk végre a kitömörítést:
    • cd /usr/src
      sudo su
      bzip2 -d linux-2.6.XX.X.tar.bz2
      tar xvf linux-2.6.XX.X.tar
    • Hozzunk létre egy szimbolikus linket “linux” néven:
    • ln -s linux-2.6.XX.X linux
  4. Meglévő kernel konfigurációs fájl másolása
    • cd linux
      cp /boot/config-`uname -r` ./.config
  5. Kernel konfigurálása
    • Adjuk ki a következő parancsot:
    • make menuconfig
    • Hasonlót kéne látnunk:

    kernel2

    • Adjuk meg neki a “.config” fájlunkat, amit előző lépésben átmásoltunk:
      • “Load an Alternate Configuration File”
      • Egyből látni, hogy beírta magától: “.config”
      • Üssünk Entert, majd konfiguráljuk a kernelünk úgy, ahogy szeretnénk
    • Ha befejeztük a konfigurálást,  mentsük el a módosításainkat ( nem muszáj módosítani, mivel másoltuk a konfigurációs fájlt így a jelenlegi kernel konfiguráció lesz érvényes ):
    • Save an Alternate Configuration File
  6. Egy kis takarítás…
    • make-kpkg clean
  7. Kernel fordítás!
    • Kernelfordítás elkezdéséhez, adjuk ki az alábbi parancsot.
      Figyeljünk a “-[SAJATNEV]” szócskára.
      Itt elnevezhetjük kernelünket tetszőlegesen, de ne legyen túl hosszú. Most, legyen a neve például: “-sajat”
    • Exportáljunk egy környezeti változót, hogy rásegítsünk a fordításhoz.
      Ezt akkor exportáljuk, ha többmagos Processzorunk van, és szeretnénk is kihasználni.
      A számérték a következőképp kell megadni: 1+[Ahány magos a CPU-nk].
      Tehát: 1+2 = 3, ha 2 magos CPU-nk van.

      Adjuk ki tehát a következő parancsot az exportáláshoz 2 magos Rendszereken:

    • export CONCURRENCY_LEVEL=3
    • fakeroot make-kpkg  --initrd --append-to-version=-[SAJATNEV] kernel_image kernel_headers
    • Most egy kis pihenő, a Kernelfordítás viszonylag sok időt vesz igénybe, ez függ a CPU és a Memória teljesítményétől.
  8. Kernel telepítése
    • Kernelfordítás és csomagolás eredménye 2db deb telepítőcsomag. Az egyik a Kernel Image, a másik a Kernel Headers.
    • Lépjünk egyel feljebbi mappaszintre:
      • cd ..
    • Telepítsük őket dpkg-vel, az alábbi módon:
    • dpkg -i [csomagnév].deb
    • Például:

      • dpkg -i linux-headers-2.6.30.4-gorkhaanmod_2.6.30.4-gorkhaanmod-10.00.Custom_amd64.deb
  9. Grub Rendszerbetöltő beállítása
    • Miközben a csomagokat telepíted a rendszer megkérdezi, hogy felülírja e a régi /boot/grub/menu.lst fájlt. Itt válaszd ki, hogy lecserélje a Grub menu.lst fájlt. ( első lehetőség )
    • ­Install the package maintainers version
  10. Indítsd újra a rendszered, majd használd az új kernelt. :)