Mengkompilasi Kernel , Traditional Way

Meng-kompilasi ulang kernel bagi sebagian orang sangat menakutkan dan melelahkan juga sangat menantang. Salah sedikit saja atau lupa memasukkan driver yang diperlukan akan membuat sistem anda tidak berjalan sesuai keinginan dan .... akhirnya mesti mengulang kembali dari awal.

Mengapa meng-kompilasi kernel?



  1. Kita tidak puas dengan kernel default dari vendor distro kita.

  2. Kita memiliki hardware yang didukung oleh kernel terbaru.

  3. Kita ingin belajar tentang GNU/Linux dan punya banyak waktu


Apa keuntungan meng-kompilasi kernel?



  1. Kecepatan, jika kita mengkompilasi kernel dan hanya memuat driver/modul yang benar-benar sesuai sistem kita dan mengabaikan modul/driver yang tidak sesuai, sistem kita akan booting lebih cepat dan akan menggunakan resource lebih hemat.

  2. Ilmu kita akan bertambah, karena disetiap konfigurasi modul/driver, kita bisa menekan tombol ? untuk mengetahui penjelasan mengenai istilah yang sedang kita hadapi. Kecuali, kita tidak memahami Bahasa Inggris dengan baik.

  3. Setiap vendor yang mendistribusikan distro sendiri, selalu mengkompilasi kernel sendiri. Entah untuk mendukung fitur tertentu atau sekedar menambahkan informasi "extra version". Siapa tahu, nantinya kita akan mendistribusikan distro kita sendiri, wallahualam.



Bagaimana Meng-kompilasi Kernel?



  1. Download kernel yang kita inginkan. Saya sendiri lebih memilih menunggu bonus DVD Infolinux.

  2. Kopi dan ekstrak hasil download/bonus dari DVD tadi ke folder home kita.

    gzip -cd linux-2.6.XX.tar.gz | tar xvf


    ataubzip2 -dc linux-2.6.XX.tar.bz2 | tar xvf

  3. Masuk ke folder yang baru terbentuk, katakan saja linux-2.6.22/ lalu mulai dengan memeriksa kelengkapan source kernel kita.make mrproper

  4. Memulai mengkonfigurasi kernel kita. Di tahap ini kita dapat memilih menggunakan beberapa metode berikut : make oldconfig

    akan menandai semua pertanyaan (baca konfigurasi) default sistem anda dari konfigurasi anda saat ini.make config

    kita memilih menggunakan interfase teks

    make menuconfig

    kita memilih menggunakan interface ncurses commandline

    make xconfig

    X Window dengan QT (pastikan paket-paket QT ter-install)

    make gconfig

    X windows dengan GTK (pastikan anda memiliki paket-paketnya)

    Tahapan mengkonfigurasi kernel adalah tahapan yang paling menyenangkan (?) dan menentukan dalam proses ini. Pastikan anda memilih semua pilihan yang sesuai sistem target anda. Jika tidak, sistem anda bisa jadi akan tetap berjalan tetapi beberapa hardware/fitur tidak berjalan baik.

  5. Setelah proses konfigurasi, silahkan mulai mengkompilasi kernel anda.make

    Silahkan menenggak kopi atau teh anda sambil menunggu, atau matikan monitor anda dan larilah keliling lapangan beberapa kali. Anda akan duduk lama sekali jika menunggu, apalagi jika sistem anda setua sistem saya.

  6. Kini tiba saatnya kita melakukan instalasi. Perhatikan, jika anda ada memilih opsi m (modular) saat mengkonfigurasi. Anda HARUS melakukan instalasi tahap kedua, instalasi modul kernel!

    make install
    make modules install

    Lalu jangan lupa kopikan file bzimage dari, misalnya ../linux/arch/i386/boot/bzImage dan initrd-nya ke folder /boot setelah kompilasi. Terserah anda apakah akan me-rename ke vmlinuz-xxx atau tetap menggunakan bzImage, whatever-lah! Kalau aku me-rename-nya ke kernelku-2.6.22

  7. Tambahkanlah pilihan boot menggunakan kernel baru ini ke menu.lst grub kita atau lilo.conf kita. Untuk GrUB, saya menambahkan :

    title Kernel Baru 2.6.22
    root (hd0,0)
    kernel /boot/kernelku-2.6.22 root=/dev/hda1 ro
    initrd /boot/initrdku.img-2.6.22
    boot

    Catatan: kernel.org menyarankan kompilasi menggunakan minimal GCC (GNU C Compiler) v3.2


Ayo, coba sendiri!
Pustaka : README by kernel.org (./linux-2.6.22.5/README)

Post a Comment

2 Comments

  1. ada tutorial dasar ttng kernel?
    mau blajar ttg kernel untuk embedded systems
    thnx

    ReplyDelete
  2. Coba di sini:
    http://www.linuxjournal.com/article/7477

    Dasarnya sih, pahami system, kompilasi yg diperlukan saja. Buang yang tidak perlu, jadinya small kernel.

    ReplyDelete