Kernel Linux adalah kekuatan hidup dari semua keluarga sistem operasi Linux termasuk Ubuntu, CentOS, dan Fedora.
Untuk sebagian besar, Anda tidak perlu mengkompilasi kernel, karena kernel diinstal secara default saat Anda menginstal OS. Juga, ketika ada pembaruan kritis yang dilakukan pada kernel, Anda dapat menggunakan yum, atau apt-get untuk memperbarui kernel pada sistem Linux Anda.
Namun Anda mungkin menghadapi situasi tertentu, di mana Anda mungkin memiliki untuk mengkompilasi kernel dari sumber. Berikut adalah beberapa situasi di mana Anda mungkin harus mengkompilasi Kernel di sistem Linux Anda.
- Untuk mengaktifkan fitur eksperimental yang bukan merupakan bagian dari kernel default.
- Untuk mengaktifkan dukungan untuk perangkat keras baru yang saat ini tidak didukung oleh kernel default.
- Untuk men-debug kernel
- Atau, hanya untuk mempelajari cara kerja kernel, Anda mungkin ingin menjelajahi kode sumber kernel, dan mengompilasinya sendiri.
Dalam tutorial ini, kami akan menjelaskan cara mengkompilasi kernel Linux dari sumber.
Juga, harap dicatat bahwa jika Anda hanya ingin mengkompilasi driver, Anda tidak perlu mengkompilasi kernel. Anda hanya membutuhkan paket linux-headers dari kernel.
1. Unduh Kernel Stabil Terbaru
Langkah pertama adalah mengunduh kernel stabil terbaru dari kernel.org.
# cd /usr/src/ # wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.9.3.tar.xz
2. Hapus Sumber Kernel
Langkah kedua adalah membuka tar file sumber kernel untuk kompilasi.
# tar -xvJf linux-3.9.3.tar.xz
3. Konfigurasi Kernel
Kernel berisi hampir 3000 opsi konfigurasi. Untuk membuat kernel digunakan oleh kebanyakan orang di sebagian besar perangkat keras, distro Linux seperti Ubuntu, Fedora, Debian, RedHat, CentOS, dll, umumnya akan menyertakan dukungan untuk perangkat keras yang paling umum. Anda dapat mengambil salah satu konfigurasi dari distro, dan selain itu Anda dapat menambahkan konfigurasi Anda sendiri, atau Anda dapat mengkonfigurasi kernel dari awal, atau Anda dapat menggunakan konfigurasi default yang disediakan oleh kernel.
# cd linux-3.9.3 # make menuconfig
Make menuconfig, akan meluncurkan antarmuka pengguna berbasis teks dengan opsi konfigurasi default seperti yang ditunjukkan pada gambar. Anda seharusnya telah menginstal paket “libncurses dan libncurses-devel” agar perintah ini berfungsi.

Kami akan menggunakan konfigurasi default yang disediakan oleh kernel. Jadi pilih "Simpan" dan simpan konfigurasi dengan nama file ".config".
Berikut ini adalah contoh file “.config”:
CONFIG_MMU=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_HWEIGHT=y
4. Kompilasi Kernel Linux
Kompilasi kernel utama:
# make
Kompilasi modul kernel:
# make modules
Instal modul kernel:
# make modules_install
Pada titik ini, Anda akan melihat direktori bernama /lib/modules/3.9.3/ di sistem Anda.
5. Instal Kernel Baru
Instal kernel baru pada sistem:
# make install
Perintah make install akan membuat file berikut di direktori /boot.
- vmlinuz-3.9.3 – Kernel yang sebenarnya
- System.map-3.9.3 – Simbol yang diekspor oleh kernel
- initrd.img-3.9.3 – initrd image adalah sistem file root sementara yang digunakan selama proses boot
- config-3.9.3 – File konfigurasi kernel
Perintah "make install" juga akan memperbarui grub.cfg secara default. Jadi kita tidak perlu mengedit file grub.cfg secara manual.
6. Boot Linux ke Kernel baru
Untuk menggunakan kernel baru yang baru saja Anda kompilasi, reboot sistem.
# reboot
Karena, di grub.cfg, kernel baru ditambahkan sebagai boot default, sistem akan boot dari kernel baru. Untuk berjaga-jaga jika Anda memiliki masalah dengan kernel baru, Anda dapat memilih kernel lama dari menu grub saat boot dan Anda dapat menggunakan sistem Anda seperti biasa.
Setelah sistem aktif, gunakan perintah uname untuk memverifikasi bahwa versi baru kernel Linux telah diinstal.
$ uname -r 3.9.3