04 September 2009

Belajar Mengkompilasi Kernel

Tadi sore saya ditemani seorang teman yang baik hati, namanya klunxer.
Selain itu dapat support dari Willy melalui Plurk dan milis KPLI Jogja.

Saya mempunyai masalah dengan driver sundance untuk DFE-580TX.
Sehingga mencoba untuk mengkompilasi kernel dengan harapan driver tersebut bisa berjalan dengan baik.
Dulu sering sekali mengkompilasi kernel namun sering gagal makanya tidak ingin mencoba kembali kompilasi kernel.
Ini adalah pelajaran jaman dulu sewaktu belajar Linux.
Memang saat ini saya sedang mencoba Slackware, sedikit selingkuh :p
Jadi saya harus mengingat kembali cara kompilasi kernel dan mainan Lilo.

Ini sekadar mencatat yang telah saya kerjakan tadi sore bersama klunxer.
Tahapan kompilasi kernel sebagai berikut :
1. Unduh dulu kernel 2.6.30.5 dari mirror terdekat
wget -c http://kambing.ui.ac.id/linux/v2.6/linux-2.6.30.5.tar.bz2

2. Ekstrak kernel 2.6.30.5 ke direktori /usr/src/
tar jxvf linux-2.6.30.5.tar.bz2 -C /usr/src/

3. Pindah ke direktori /usr/src dan mengganti symbolic link linux menjadi linuk
cd /usr/src
mv linux linuk

4. Membuat symbolic link linux dari kernel baru
ln -s linux-2.6.30.5 linux

5. Ekstrak konfigurasi kernel yang masih aktif ke direktori /usr/src/linux
zcat /proc/config.gz > /usr/src/linux/.config

6. Berhubung yang diaktifkan modul sundance, maka edit berkas /usr/src/linux/.config pada bagian sundance seperti dibawah ini
CONFIG_SUNDANCE=m
CONFIG_SUNDANCE_MMIO=y

7. Mengkompilasi kernel dan modul, sebelumnya masuk terlebih dahulu ke direktori /usr/src/linux/
cd /usr/src/linux
make bzImage modules

8. Instalasi modul
make modules_install

9. Menyalin kernel baru ke direktori /boot
cp arch/x86/boot/bzImage /boot/vmlinuz-sundance-2.6.30.5

10. Menyalin System.map ke direktori /boot
cp System.map /boot/System.map-sundance-2.6.30.5

11. Menyalin konfigurasi kernel ke direktori /boot
cp .config /boot/config-sundance-2.6.30.5

12. Masuk ke direktori /boot dan mengganti System.map
cd /boot
mv System.map sistem

13. Membuat symbolic link baru System.map
ln -s System.map-sundace-2.6.30.5 System.map


Kompilasi kernel sudah selesai.
Sebelum kompilasi kernel sebaiknya anda siapkan cemilan atau hiburan lain.
Pada point 7 dan 8 memerlukan waktu yang sangat lama, tergantung dari processor dan memory komputer anda.
Berikut tahapan modifikasi lilo dengan menggunakan kernel baru :
1. Edit berkas /etc/lilo.conf
vim /etc/lilo.conf

2. Tambahkan baris berikut
image = /boot/vmlinuz-sundance-2.6.30.5
root = /dev/sda1
label = sundance
read-only

3. Pada baris bagian atas tambahkan baris
default = sundance

4. Simpan berkas /etc/lilo.conf, selanjutnya menjalankan perintah lilo
5. Silahkan reboot untuk menikmati kernel baru

Hasilnya bagus karena tidak ketemu dengan kernel panic :D
Namun masalah utama saya masih belum terselesaikan.
Paling tidak hari ini saya sudah mengingat-ingat pelajaran beberapa tahun yang lalu.
Terimakasih buat klunxer yang menemani saya dengan perbincangan yang ngalor-ngidul dan Willy yang support melalui milis.

Referensi : http://alien.slackbook.org/dokuwiki/doku.php?id=linux:kernelbuilding

2 comments:

  1. Kalau setiap kali kompilasi kernel harus menyiapkan camilan, berarti Linus Torvalds gembul dong... secara dia tiap hari kompilasi kernel :-p

    ReplyDelete
  2. @triyan :
    kalo punya 1 mesin sebaiknya menyediakan hiburan untuk menunggu selesainya kompilasi. tapi kalo punya banyak mesin yg tidak melakukkan kompilasi bisa sebagai pengganti camilan atau sebagai mainan lainnya.

    tapi RMS gembul tuuhh (thinking)

    ReplyDelete

Disqus for Dedy selalu Milisdad