Kompilasi Kernel
Kernel berfungsi sebagai perantara antara program-program dengan hardware, tugasnya antara lain:
Kernel sendiri dibagi 2 macam, yaitu:
Berikut langkah-langkah kompilasi kernel:
Bagi yang menggunakan kernel 2.6.x, langkah di bawah ini bisa dilewatkan.
usahakan extract kernel baru di folder /usr/src kemudian unlink linux link ke kernel lama dan ganti dengan link ke folder baru. langkah ini akan mempermudah installasi aplikasi yang memerlukan kernel source dikemudian hari.
make clean hanya dilakukan ketika recompile jadi kalo compile dari awal make clean gak perlu dilakukan.
cara compile yang bro beri cukup oldiest biasa dipake untuk kernel 2.4 kebawah... berhubung kernel linux dari 2.6 keatas udah susah (kalo ngga gak mungkin) dibikin kecil (kurang dari 1.44Mb) jadi beberapa command bisa dilewat lagian sekarang compile kernel gak sebanyak itu command nya udah disederhanakan.. setelah make menuconfig cukup ketik segini saja
make & make modules bisa disingkat dengan mengetikan make all
terus mkinitrd lebih baik selalu dilakukan setelah compile kernel jaga-jaga jangan sampe gagal boot dulu baru repot bikin initrd
Kernel berfungsi sebagai perantara antara program-program dengan hardware, tugasnya antara lain:
- Mengatur memori bagi seluruh proses yang berjalan
- Memastikan proses tersebut memperoleh pembagian siklus prosesor yang adil
- Menyediakan interface yang portabel bagi program-program untuk berbicara ke hardware
Kernel sendiri dibagi 2 macam, yaitu:
- Kernel monolitik adalah kernel yang semua di-compile dari awal dan dimuat saat sistem boot. Kelebihannya adalah stabil, tetapi kelemahannya adalah kernel monolitik ini harus di-compile terlebih dahulu sebelum digunakan.
- Kernel modular adalah kernel yang dapat diinstall dan diuninstall. Kernel ini akan dimuat saat saat diperlukan. Salah satu contoh kernel modular ini adalah driver, seperti driver printer, VGA, dsb. Kelebihan kernel modular ini adalah lebih mudah diinstall/uninstall tetapi kelemahannya adalah kurang stabil.
- Kernel monolitik akan dimuat saat booting, artinya semakin banyak kernel monolitik yang dimuat, maka memori yang digunakan pun semakin besar, padahal belum tentu semua kernel monolitik tersebut kita perlukan. Ada beberapa yang cuma perlu dijadikan kernel modular saja. Dengan merampingkan ukuran kernel, maka kecepatan booting dapat ditingkatkan dan memperkecil pemakaian memori.
- Dengan kompilasi kernel, Kita dapat menyeting sistem PC kita agar bekerja lebih maksimal lagi. Karena umumnya kernel yang disertakan bekerja untuk PC secara umum, artinya tidak seluruh kemampuan PC kita dikeluarkan karena kernel diset untuk bekerja secara umum. Contohnya adalah CPU, setting standar kernel adalah menggunakan CPU Pentium I, padahal kita menggunakan CPU Dual Core. Nah, dengan kompilasi kernel ini Kita bisa mengoptimalkan kerja dari kernel ini agar optimal di CPU Dual Core.
- Kita dapat memasukkan feature lainnya yang tidak ada di kernel standar.
- Upgrade kernel. Kernel baru umumnya menawarkan kemampuan untuk mendukung lebih banyak hardware, memperbaiki bug yang ada di kernel sebelumnya, lebih stabil dibanding versi sebelumnya, memiliki dukungan manajemen proses yang lebih baik, yang berjalan lebih cepat dari versi sebelumnya.
- Menyiapkan source code kernel. Kernel sendiri bisa didownload di www.kernel.org atau mirror lainnya
- GNU C Compiler (GCC) untuk mengcompile kernel
- Program Make untuk membantu kompilasi program.
Berikut langkah-langkah kompilasi kernel:
- Ektrak file kernel yang biasanya terkompresi dalam format .tar.bz2 dengan perintah Quote:
$ tar xjvf linux-2.6.21.5.tar.bz2 - Pindah ke direktori hasil ekstrak file kernel tadi
- Bila Anda merasa perlu untuk membersihkan source kernel dari sisa kompilasi sebelumnya, lakukan dengan perintah Quote:
$ make clean - Untuk memulai memilih kernel mana yang akan di-compile, ketik Quote:
$ make menuconfig - ) atau kernel modular (ditandai dengan [M]), atau malah akan dihapus (ditandai dengan []). Untuk memilih tekan spasi, untuk kembali ke menu sebelumnya tekan ESC, untuk masuk ke sub menu tekan ENTER. Harap pilih tipe kernel (monolitik atau modular) dengan cermat, agar sistem Anda menjadi lebih optimal dan tidak sebaliknya. Setelah selesai memilih, maka keluarlah dari menu config tersebut (dengan memilih exit).
- Kompile kernel dengan perintah
Untuk kernel 2.4.x lakukan dengan perintah:Quote:$ make
$ make bzImage
$ make vmlinuz
$ make modules
$ make modules_install
Perintah make vmlinux untuk image kernel versi tidak terkompresi
Perintah make modules untuk meng-kompile kernel modular.
Perintah make modules_install akan membuat direktori sesuai versi kernel di bawah direktori /lib/modules
Untuk kernel 2.6.x lakukan dengan perintah:Quote:# make all && make modules_install && make install
Bagi yang menggunakan kernel 2.6.x, langkah di bawah ini bisa dilewatkan.
- Selanjutnya, adalah mengkonfigurasi bootloader Anda. Ada baiknya Anda meng-copy beberapa file ini ke /boot. Beberapa file tersebut adalah bzImage (ada di direktori arch/i386/boot), vmlinuz (ada di direktori utama), .config dan system.map (untuk debugging). Copy semua file tersebut ke direktori baru di /boot, misalnya /boot/kernelbaru.
- Login sebagai root, dan edit file grub.conf (bila menggunakan grub sebagai boot loader). Tambahkan entri sebagai berikut (jangan hapus file dan entry kernel yang lama, untuk berjaga-jaga bila kernel baru tidak bisa berjalan): Quote:
title New Kernel (2.6.21.5)
root(hd1,0)
kernel /boot/kernelbaru/bzImage ro root=/dev/hda1
initrd /boot/kernelbaru/initrd-2.6.21.5.imgQuote:# mkinitrd /boot/kernelbaru/initrd-2.6.21.5.img 2.6.21.5 - Bila Anda menggunakan LILO, maka entry yang perlu dimasukkan adalah Quote:
image=/boot/kernelbaru/vmlinuz-2.6.21.5
label=New Kernel
root=/dev/hda1
read-onlyQuote:# lilo - Kompilasi kernel telah selesai, restart komputer Anda dan pilihlah kernel yang baru tersebut.
usahakan extract kernel baru di folder /usr/src kemudian unlink linux link ke kernel lama dan ganti dengan link ke folder baru. langkah ini akan mempermudah installasi aplikasi yang memerlukan kernel source dikemudian hari.
make clean hanya dilakukan ketika recompile jadi kalo compile dari awal make clean gak perlu dilakukan.
cara compile yang bro beri cukup oldiest biasa dipake untuk kernel 2.4 kebawah... berhubung kernel linux dari 2.6 keatas udah susah (kalo ngga gak mungkin) dibikin kecil (kurang dari 1.44Mb) jadi beberapa command bisa dilewat lagian sekarang compile kernel gak sebanyak itu command nya udah disederhanakan.. setelah make menuconfig cukup ketik segini saja
Code:
make && make modules && make modules_install && make install
terus mkinitrd lebih baik selalu dilakukan setelah compile kernel jaga-jaga jangan sampe gagal boot dulu baru repot bikin initrd