Mengapa meng-kompilasi kernel?
- Kita tidak puas dengan kernel default dari vendor distro kita.
- Kita memiliki hardware yang didukung oleh kernel terbaru.
- Kita ingin belajar tentang GNU/Linux dan punya banyak waktu
Apa keuntungan meng-kompilasi kernel?
- 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.
- 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.
- 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?
- Download kernel yang kita inginkan. Saya sendiri lebih memilih menunggu bonus DVD Infolinux.
- 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 - Masuk ke folder yang baru terbentuk, katakan saja linux-2.6.22/ lalu mulai dengan memeriksa kelengkapan source kernel kita.make mrproper
- 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. - 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. - 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 - 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)

2 Comments
ada tutorial dasar ttng kernel?
ReplyDeletemau blajar ttg kernel untuk embedded systems
thnx
Coba di sini:
ReplyDeletehttp://www.linuxjournal.com/article/7477
Dasarnya sih, pahami system, kompilasi yg diperlukan saja. Buang yang tidak perlu, jadinya small kernel.