Minggu, 04 Mei 2008

Mengkompile kernel di ubuntu

Setelah mencoba coba beberapa distro linux akhirnya sampailah pada distro Kubuntu 6.10. Menurut saya distro ini cukup bagus karena dukungan yang dari pengembang, paket software yang lengkap dan komunitas yang cukup luas bahkan terdapat mirror lokal(indonesia). Tetapi kernel defaultnya versi 2.6.17-10 sedang kan yg baru sudah mencapai versi 2.6.20-x, lalu saya putuskan untuk meng-upgrade kernelnya menggunakan versi terbaru. Berikut ini dokumentasinya saya ketika mengupgrade kernel.

Perhatian:
Sebagai contoh untuk memperjelas disini saya menggunkan kernel versi linux-2.6.20.3.

Pertama, download kernel versi stabil yang baru di :

http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.3.tar.bz2

untuk memudahkan loginlah sebagai root, namun sebelumnya ada baiknya jika memberi password user root dengan menngunakan command :

donpaimo@donp:~$sudo passwd root

masukanlah password untuk root , usahan password yg baik( dengan kombinasi angka, huruf/karakter dan lebih dari 6 karakter).
selanjutnya login sebagai user root

donpaimo@donp:~$su

masukan password yang telah dibuat diatas..
kemudian lakukan update apt-get

root@donp:/home/donpaimo#apt-get update

Perhatian:
Untuk k/ubuntu 6.10 /bin/sh adalah symlink dari /bin/dash hal ini memungkinkan terjadinya masalah ketika proses kompilasi, oleh karena itu /bin/sh perlu di rename dan membuat symlink /bin/sh dari /bin.bash, jalankan perintah :

root@donp:/home/donpaimo#mv /bin/sh /bin/sh.bak
root@donp:/home/donpaimo#ln -s /bin/bash /bin/sh

Berikutnya isntall prorgram untuk mendukung proses kompilasi:

root@donp:/home/donpaimo#apt-get install kernel-package libncurses5-dev fakeroot

Ekstrak source kernel yg telah di download

root@donp:/home/donpaimo#tar jxvf linux-2.6.20.3.tar.bz2 -C /usr/src/

Buatlah symlink direktori dari /usr/src/linux-2.6.20.3 menjadi /usr/src/linux dan masuklah ke direktori symlink tersebut

root@donp:/home/donpaimo#cd /usr/src/
root@donp:/usr/src#ln -s linux-2.6.20.3 linux
root@donp:/usr/src#cd linux

Untuk memudahkan dalam mengkonfigurasi ada baiknya jika menggunakan konfigurasi kernel lama yang berjalan di system sekarang. Kopi file fonfigurasi kernel lama tersebut dari /boot/config-2.6.17-10-generic ke direktori /usr/src/linux/ dengan nama .config

root@donp:/usr/src/linux#cp /boot/config-`uname -r` ./.config

Perhatian:


Pada perintah tersebut diatas terdapat command `uname -r` akan menghasilkan output versi kernel yang berjalan di sistem, yang digunakan untuk mengkopi file configurasi kernel yg sedang berjalan ke direktori /usr/src/linux/.

Konfigurasi kernel

Setelah file configurasi kernel tersebut terkopi berikutnya adalah mengkonfigurasi kernel. Dalam konfigurasi kernel terdapat dua jenis, pertama adalah kernel modular yang memudahkan untuk menganti hardware pada komputer dan menload atau unload modul, kedua adalah kernel monolitik diamana hanya modul yang dipilih hanya yang diperlukan saja, pada jenis ini akan menyulitkan untuk mengganti hardware tapi lebih unggul dalam masalah keamanan.

Sebelum mengkonfigurasi kernel sebaiknya kenali hardware yang ada pada komputer. Dengan menjalankan perintah lspci akan sangat berguna untuk mengenali semua perangkat pci yang terpasang pada komputer, atau dengan menjalankan perintah dmesg yang menghasilkan output cukup berguna untuk mengenali komputer. Setelah persiapan dirasa cukup berikutnya adalah melakukan konfigurasi kernel, ada tiga macam perintah yaitu:

make config, konfigurasi dalam mode teks
make menuconfig, konfigurasi dalam mode TUI(teks user interface)
make xconfig, konfigurasi dalam mode GUI(graphic user interface)

Disini akan dicontohkan dengan menggunakan make menuconfig.

root@donp:/usr/src/linux#make menuconfig

Setelah muncul jendela konfigurasi pilihlah "Load an Alternate Configuration File" dan pilih file .config yang merupakan file konfigurasi kernel sedang berjalan, kemudian jika anda ingin memodifikasi konfigurasinya pilihlah menu-menu yang ada dan berhati-hatilah dalam memilih modul-modul yang akan diaktifkan, setelah selesai pilih exit, atau jika tidak ingin merubah konfigurasinya langsung pilih exit.
Berikutnya akan muncul pesan "Do you wish to save your new kernel configuration?" pilih yes

Selanjutnya tinggal mengkompil, jalankan perintah:

root@donp:/usr/src/linux#make-kpkg clean

jika tidak ada error lajutkan dengan:

root@donp:/usr/src/linux# fakeroot make-kpkg --initrd \
--append-to-version=-baru kernel_image kernel_headers

Perhatian:

Pada baris diatas terdapat perintah "-baru" yang dapat diganti dengan "kata" menurut anda sebagai identitas tetapi harus diawali dengan tanda minus(-). Pada proses ini akan memakan waktu cukup lama tergantung spesifikasi komputer anda, semakin tinggi semakin cepat.


Setelah selesai dan tidak ada error maka akan terdatap dua file baru di diresktori /usr/src/ yaitu:

linux-image-2.6.20.3-baru_2.6.20.3-dp-10.00.Custom_i386.deb yang merupakan file paket instalasi kernel
linux-headers-2.6.20.3-baru_2.6.20.3-dp-10.00.Custom_i386.deb yang merupakan file paket instalasi yang dibutuhkan jika anda ingin mengkompil modul kernel tambahan suatu saat.

Langkah selanjutnya tinggal mengistall kedua file tersebut:

root@donp:/usr/src/linux#cd ../
root@donp:/usr/src#dpkg -i \
linux-image-2.6.20.3-baru_2.6.20.3-dp-10.00.Custom_i386.deb
root@donp:/usr/src#dpkg -i \
linux-headers-2.6.20.3-baru_2.6.20.3-dp-10.00.Custom_i386.deb

Pastikan di /boot/grub/menu.lst kurang lebih seperti berikut ini:

----------- dipotong disini

title Ubuntu, kernel 2.6.20.3-dp
root (hd0,1)
kernel /vmlinuz-2.6.20.3-dp root=/dev/hdb3 ro quiet splash
initrd /initrd.img-2.6.20.3-dp
quiet
savedefault
boot

title Ubuntu, kernel 2.6.20.3-dp (recovery mode)
root (hd0,1)
kernel /vmlinuz-2.6.20.3-dp root=/dev/hdb3 ro single
initrd /initrd.img-2.6.20.3-dp
boot

-------------------------- dipotong disini

setelah semuanya beres restartlah komputer anda, maka ketika booting akan terdapat tampilan grub
kurang lebih seperti berikut :

---------------------------------------------------------------------------------------------------------------------------------------

GRUB Loading stage1.5.

GRUB Loading. please wait........
Press `ESC` to enter the menu.... 4

---------------------------------------------------------------------------------------------------------------------------------------

Tekan tombol 'ESC' untuk masuk ke menu dan pilihlah kernel yang baru, dan masuklah ke konsole jalankan perintah:

root@donp:/usr/src#uname -r
2.6.20.3-baru

untuk memastikan kernel baru telah berjalan di system, dan selamat menikamti kernel baru.
Dikutip dari : http://pamadigesang.blogspot.com

Tidak ada komentar: