• Feed RSS

Pages

Sabtu, 19 Maret 2011

Kompilasi Kernel Ubuntu

Bookmark and Share
Kompile Kernel Ubuntu
Versi kernel, sebelum kompile.
Pada penjelasan kali ini, saya akan menggunakan git, untuk mendapatkan versi kernel terbaru. Untuk itu kita perlu add repositorinya terlebih dahulu, langkah-langkah nya seperti di bawah ini :
  • Add repository key
    sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 4CBEDD5A
  • Add repository ke system,Systems ? Administration ? Software SourceClick Other SoftwareClick AddIsi baris APT, dengan deb http://ppa.launchpad.net/pdoes/ppa/ubuntu distro main Click Add Source
    Click Close
    Click Reload
Disini, saya akan mengkompile untuk versi i386, kamu perlu merubah ke versi i386, jika versi mesin kamu amd64. Saya menggunakan nama core2, sebagai nama kernel yang saya buat, untuk prosesor core 2 duo.
  1. Persiapkan tools-tools yang dibutuhkan
Buka terminal, lalu ketik :
sudo su -
apt-get install fakeroot build-essential
apt-get install crash kexec-tools makedumpfile kernel-wedge
apt-get build-dep linux
apt-get install git-core libncurses5 libncurses5-dev
Buat direktori, untuk menyimpan hasil download kernel, juga untuk mengkompile kernelnya itu sendiri, pada contoh kali ini, saya membuat direktori dengan alamat : /kernel/karmic.
  1. Mendapatkan sumber
Masuk ke direktori yang baru saja dibuat
cd /kernel/karmic
setelah itu download sumber menggunakan git, dengan perintah :
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-karmic.git source
Hasil download akan tersedia di direktori source.
Setelah itu, kita dapat melihat versi terbaru dari kernel yang baru saja kita download, sebelum itu kita terlebih dahulu masuk ke direktori source
cd source
cat debian.master/changelog|more
Hasilnya akan terlihat seperti ini :
Terlihat bahwa versi terbaru, setelah proses download sumber, adalah (2.6.31-21.59).
Kita pilih versi yang terbaru.
git checkout Ubuntu-2.6.31-21.59 -b core2
disini kita membuat nama kernel sendiri, yang diberi nama core2, sesuai dengan penjelasan diawal.
  1. Buat konfigurasi baru
Kita akan membuat konfigurasi, dengan metode yang baru, walaupun sedikit merepotkan, tetapi hasil kompile kernel yang kita lakukan, sesuai dengan konfigurasi aslinya.
cp debian.master/config/i386/config.flavour.generic debian.master/config/i386/config.flavour.core2
fakeroot debian/rules clean
debian.master/scripts/misc/kernelconfig oldconfig




Kita diberi kebebasan untuk membuat perubahan, caranya dengan mengedit file konfigurasinya.
debian.master/scripts/misc/kernelconfig editconfig

Setelah selesai dengan perubahan yang kita inginkan, kita bisa membuat backup nya, agar suatu saat jika terjadi kesalahan kita bisa memperbaikinya. Disarankan tidak membuat perubahan apa-apa, untuk user yang masih pemula seperti saya.
cp debian.master/config/i386/config.flavour.core2 ../.
Sekarang, clean up sistem dengan perintah git,.
git reset --hard
git clean -xdf
  1. Mulai kompilasi kernel
Karena kita mencoba menggunakan metode baru dalam kompilasi kernel, maka dibutuhkan beberapa file tambahan, karena file tambahan tersebut tidak ada, maka kita perlu membuatnya. Proses kompilasi, akan mengecek versi sebelumnya dari kernel, dengan tujuan menyamakan beberapa setting yang diperlukan.
Mengecek versi sebelumnya, dapat dilakukan dengan perintah
ls debian.master/abi
lalu buat file tambahan dengan meng copy nya dari file asli, setelah itu kita edit file tambahan tersebut. Dengan melakukan beberapa perubahan, sesuai tujuan kita dari awal, yaitu mengkompile kernel, khusus untuk jenis prosesor core 2 duo.
cp debian.master/abi/2.6.31-14.48/i386/generic debian.master/abi/2.6.31-14.48/i386/core2
cp debian.master/abi/2.6.31-14.48/i386/generic.modules debian.master/abi/2.6.31-14.48/i386/core2.modules

lakukan juga :
cp ../config.flavour.core2 debian.master/config/i386/

Setelah selesai, edit file tambahan tersebut, dengan alamat filenya :
  • debian.master/scripts/misc/getabis
  • debian.master/rules.d/i386.mk
Untuk File : debian.master/scripts/misc/getabis
cari baris :
getall i386 generic generic-pae 386
rubah ke :
getall i386 generic generic-pae 386 core2

Untuk File : debian.master/rules.d/i386.mk
cari baris :
flavours        = generic generic-pae 386
ganti ke :
flavours        = generic generic-pae 386 core2

Lakukan juga :
cp debian.master/control.d/vars.generic debian.master/control.d/vars.core2

lalu edit, file tersebut, sesuai dengan yang tercantum dibawah.

arch="i386 amd64"
supported="Core2"
target="Geared toward Core2 systems."
desc="x86/x86_64"
bootloader="grub | lilo (>= 19.1)"
provides="kvm-api-4, redhat-cluster-modules, ivtv-modules, ndiswrapper-modules-1.9"

Setelah melakukan perubahan, seperti biasa simpan perubahan tersebut, dengan perintah git.
git add .
git commit -a -m "Core2 modifications"

  1. Kompilasi
Saatnya proses kompilasi, tetapi sebelum itu, lakukan ini terlebih dahulu :
fakeroot debian/rules clean
Setelah selesai, baru kita mulai proses kompilasi, dengan perintah :
skipabi=true skipmodule=true fakeroot debian/rules binary-core2

lakukan juga :
skipabi=true skipmodule=true fakeroot debian/rules binary-indep

  1. Instalasi
Setelah proses kompilasi selesai, akan terbentuk deb file, di parent direktori (/kernel)
untuk menginstallnya,
cd ..
dpkg -i linux-headers-2.6.31-15-core2_2.6.31-15.49_i386.deb
linux-headers-2.6.31-15_2.6.31-15.49_all.deb linux-image-2.6.31-15-core2_2.6.31-15.49_i386.deb

Cek file grub, untuk melihat apakah ada kernel baru yang sudah terinstall, untuk grub, bisa dilihat di /boot/grub/menu.lst. Dan untuk grub2 bisa dilihat di /boot/grub/grub.cfg.
Reboot sistem kita, lalu pilih versi kernel yang baru kita buat, dan buktikan dengan perintah :
uname -r
Referensi :


Post Terkait

0 orang yang berkomentar:

Posting Komentar