Kompilasi Kernel

Kernel adalah jantung dari sistem operasi linux. Suatu ketika kita mungkin ingin mencoba kernel versi baru yang masih fresh alias belum tersedia paket repo.nya. Atau barang kali kita ingin menjalankan distro versi “jadul” karena kita membutuhkan suatu hardware “lawas” tetapi kita ingin supaya mendapatkan performa laptop atau komputer yang optimal layaknya pada suatu distro baru. Atau barangkali kita mengalami masalah mendadak dengan hardware semisal wifi, padahal pada awal instalasi OS hardware tersebut dapat berjalan dengan baik dan oleh karena suatu sebab yang belum kita ketahui tidak hardware tersebut tidak berjalan dengan baik namun kita ingin hardware tersebut kembali seperti sediakala.
Dengan kompilasi kernel, InsyaAlloh kita dapat dengan mudah mengatasi masalah-masalah tersebut. Pada panduan kali ini kita akan mencoba pengalaman kompilasi kernel linux dengan cara yang “relatif” amat mudah, dengan konsekuensi yang “relatif” berat, hehe. Dalam panduan ini kita akan mencoba melakukan 5 langkah sederhana dalam kompilasi kernel. Berikut adalah langkah-langkah sederhananya

1. Unduh Paket Kernel
Langkah pertama dalam kegiatan kompilasi kernel adalah kita menyiapkan berbagai prasyarat untuk kegiatan kompilasi diantaranya adanya kode sumber dari kernel dan compiler. Kode sumber dari kernel dapat anda unduh di www.kernel.org. Pastikan juga anda memiliki program yang berhubungan dengan kegiatan kompilasi yaitu yaitu gcc dan make.
Hint: Pilih versi kernel yang tidak jauh berbeda dari versi kernel pada file konfigurasi (lihat langkah dua).

2. Salin File Konfigurasi
Yang kedua kita akan membuat konfigurasi terhadap berbagai fasilitas termasuk driver yang terdapat dalam kode sumber dari kernel. Karena kita ingin mempermudah proses kompilasi dengan tidak mengkompilasi kernel dari awal, maka kita dapat menggunakan file konfigurasi kernel yang dapat kita temukan di bawah direktori /usr/src/. Di distro BlankOn kita bisa menemukannya di usr/src/linux-*/include/generated/ berupa file autoconf.h. Sangat dianjurkan untuk menggunakan file konfigurasi dari livecd ketika sistem telah mengenali semua hardware pada PC atau laptop kita.

kompilasi1

Hint: Apabila kita kesulitan untuk menemukan file tersebut kita dapat menemukannya pada sebuah file yang bernama config.gz di dalam direktori /proc. Untuk menemukannya gunakan distro yang mendukung penyimpanan file konfigurasi di direktori /proc , semisal opensuse.

3. Prakompilasi
Pada langkah ketiga, kita menuju ke direktori atau folder /home, lalu kita buat folder baru katakanlah folder “kompile”. Salinlah paket kode sumber kernel yang telah kita unduh ke dalam folder ini, sekalian kita ekstrak disini. Salin pula file konfigurasi yang telah kita temukan pada langkah sebelumnya ke dalam folder “kompile”, lalu kita salin lagi kali ini kedalam folder hasil ekstraksi kode sumber kernel, biasanya foldernya bernama linux.<versi_kernel> dan ubah nama filenya menjadi “.config”.

kompilasi2

Hint: bagi anda yang menemukan file konfigurasi dalam paket config.gz, anda bisa melakukan ekstraksi file terlebih dahulu baru kemudian anda salin ke dalam folder hasil ekstraksi kode sumber kernel, lalu mengubah namanya menjadi “.config”

4. Kompilasi Kode Kernel
Langkah keempat kita melakukan kompilasi kode sumber kernel. Bukalah aplikasi terminal lalu pergilah ke folder hasil kompilasi kode sumber kernel

cd ~/kompile/linux.<versi_kernel>

lakukan kompilasi dengan mengetikkan

make

Hint: anda bisa menambah kecepatan proses kompilasi dengan mengetikkan make -j4 bagi komputer yang memiliki 2 prosesor, dan make -j8 bagi komputer yang memiliki 4 prosesor

kompilasi3

Pada layar terminal akan tampil proses kompilasi dimana anda mungkin akan ditanyai setting konfigurasi dari fasilitas atau driver yang belum ada pada file konfigurasi yang kita telah salin sebelumnya. Ketikkan “y” untuk jawaban yes, “n” untuk jawaban no, “m” untuk jawaban module, dan “?” untuk opsi bantuan. Terkadang kita juga harus mengisikan angka atau huruf berdasarkan pertanyaan yang ada. Anda juga bisa langsung menekan tombol “enter” untuk memilih jawaban bawaan (default) yang biasanya merupakan opsi yang tertulis paling depan dengan huruf kapital atau di dalam tanda kurung.

Hint: BERHATI-HATILAH dalam menjawab seting konfigurasi, kesalahan dalam proses ini bisa menyebabkan kita gagal kompilasi atau kegagalan dalam menjalankan sistem kernel linux yang kita sedang kita bangun. Gunakan opsi “?” Untuk mendapatkan bantuan informasi/bantuan. Saya menyarankan untuk memilih opsi “m” (menjadikan modul) pada setingan sebagaian besar driver atau fasilitas yang ada. Walaupun demikian jawaban “y”(yes), “n”(no), atau “m”(module) yang tepat akan memberikan hasil yang lebih baik.

Lama atau tidaknya proses kompilasi sangat tergantung pada seberapa banyak pertanyaan konfigurasi tambahan yang perlu kita jawab, serta kecepatan kompilasi (spek) dari komputer.

5. Instalasi Hasil Kompilasi
Pada langkah kelima, setelah proses kompilasi selesai tanpa gangguan atau error, kita masuk ke tahap instalasi kernel yang sudah kita kompilasi ke sistem yang telah ada. Dalam hal ini kita perlu masuk ke dalam mode admistrator dari sistem, ketikkan

su atau sudo su

Berikutnya kita install modul-modul dari kernel yang telah kita kompilasi, ketikkan

make modules_install

Hint: untuk menjalankan proses ini anda perlu menginstalasi aplikasi mkinitrd terlebih dahuli, pastikan aplikasi ini telah ada dalam sistem anda.

Setelah modul-modul terinstall dalam /lib/modules/linux.<versi_kernel>, langkah selanjutnya adalah instalasi kernel image, ketikkan

make install

dalam proses tersebut akan terjadi verifikasi dari kernel yang telah dikonfigurasi atau dibangun, serangkaian instalasi kernel image (vmlinuz dan initrd.img) kedalam sistem termasuk pemberitahuan pada sesi bootloader.

Setelah lima langkah tersebut telah kita lalui dengan sukses. Maka kita tinggal mencoba hasil kompilasi dengan mendaftarkan kernel image dalam daftar booting pada Bootloader. Anda tinggal mengkonfigurasi ulang bootloader dan menambahkan baris boot baru yang akan mengakses kernel image baru (vmlinuz dan initrd.img) yang telah kita buat. Seperti yang saya telah sampaikan di sela-sela materi, ada baiknya kita mempelajari lebih dahulu beberapa hal seputar kernel dan kompilasinya baik dari internet maupun teksbook. Saya rekomendasikan buku “Linux Kernel in Nutshell” karya sesepuh linux pak Greg Kroah Hartman. Banyak materi yang esensial mengenai kompilasi kernel di dalam buku tersebut, anda bisa memperolehnya di http://www.kroah.com/lkn/. Selamat mencoba.

The following two tabs change content below.
tinggi 165 cm, berat 50 kg, kulit kuning langsat, rambut lurus, lahir dan besar di semarang

Latest posts by mmustofa (see all)

mmustofa

tinggi 165 cm, berat 50 kg, kulit kuning langsat, rambut lurus, lahir dan besar di semarang

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *