Monday, December 2, 2013

Belajar Kernel Linux, Compile Kernel Itu Mudah ( Bagian II )

Setelah pada bagian I saya sedikit uraikan mengenai bagian Kernel secara umum, maka pada bagian II ini akan diperkenalkan bagian-bagian yang agak sedikit terperinci. Dan tentunya adalah bagian kernel yang biasanya digunakan pada PC Komputer ataupun laptop. 

Namun sebelum melanjutkan ada baiknya kita sedikit mengenal antara vmlinuz ( Kernel Compress ) dengan initrd .  Vmlinuz adalah kompresi hasil compile kernel yang pada saat kita compile kita berikan tanda * artinya bagian module tersebut dikompile secara utuh dan disimpan didalam vmlinuz , sedangkan kita berikan tanda M artinya menjadi file module terpisah (.ko) semuanya dicompress di dalam initrd.

Initrd biasanya bekerja setelah vmlinuz berjalan pada saat pertama kali boot, dan berfungsi memanggil file module (.ko) yang pada saat kita kompile kita berikan tanda M. Tujuan dari Initrd yang nantinya akan berjalan pada virtual memory ram adalah untuk meringankan kerja kernel vmlinuz yang terkadang memiliki ukuran yang cukup besar sehingga proses boot bisa berjalan dengan baik.


Selanjutnya kita akan membuat vmlinuz tersebut, yang merupakan kumpulan kernel yang telah terkompile yang dibutuhkan tentunya adalah Source Kernel secara utuh yang dapat anda download di http://www.kernel.org . Anda dapat mendownload versi sesuai dengan keinginan anda , dan ingat sesuaikan dengan libgc dan gcc compiler yang dimiliki. 

Setelah anda mendowonload , extractlah source tersebut dibawah /usr/src/ dan sebelum anda mengcompile pastikan anda mengetahui versi kernel yang anda gunakan saat ini . Untuk mengetahuinya pergunakan perintah

uname -r

bila sudah mengetahui versi kernel maka anda tinggal menentukan apakah akana mendowgrade kernel yaitu menerunkan versi kernelnya atau anda upgrade yaitu menaikkan versi kernelnya.

Saat ini kita akan mencoba mencompile Kernel Versi terakhir yaitu Kernel 3.12, setalah anda mendownload linux-3.12.tar.bz2 , pindahkan file ini di bawah /usr/src/

mv linux-3.12.tar.bz2 /usr/src/
tar -xvf  linux-3.12.tar.bz2

setelah terekstract , copy lah .config kernel anda yang telah ada.

cp /boot/config /usr/src/linux-3.12/

setelah di copy maka anda tinggal melakukan pengaturan kernel yang akan di compile. ada tiga cara untuk melihat isi kernel dan mengkonfigurasikannya  yang akan dikompile , namun pada bagian ini saya akan mencoba menggunakan sistem menu .

cd /usr/src/linux-3.12/
make menuconfig 


Bila anda telah menginstall komputer dengan OS Linux dengan kernel 64 bit maka bagian 64-bit kenrl harus dipilih * , selanjutnya kita akan membukan bagian General Setup, sorot bagian General setup tekan enter


Bagian Croos-compiler tool prefix tidak perlu diisi karena bagian ini hanya untuk mesin processor yang berbeda contohnya ARM yang dimiliki Android. Selanjutnya bagian Compile also drivers whichj will not Load , juga tidak perlu karena anda membutuhkan loading module atau driver pada saat Kernel berjalan. local version boleh anda isi contoh saya buat memberi nama kernel ini adalah 3.12-beta

 
selanjutnya tekan enter, anda kembali ke sub menu General Setup , dan pada bagian Automatically append version ... anda dapat mengaktifkannya dengan * yaitu dengan cuku menekan enter. Artinya tulisan versi 3.12-beta akan menjadi tampilan pada saat anda memeriksa kernel versi nantinya dengan menggunakan perintah uname -r.

Selanjutnya adalah bagian Compressi Kernel , bagian ini anda diharuskan memilih salah satu bentuk kompresi yang anda gunakan ada vmlinuz jadi sebenarnya vmlinuz adalah sebuah file kompresi . anda tinggal menentukan bentuknya , gzip, bzip2 , lzma, xz , lzo, atau lz4. Namun kompresi yang cukup baik artinya ukurannya bisa kecil yaitu LZMA , anda pilih LZMA



Setelah select dan tekan enter anda kembali ke sub menu general setup, bagian selanjutnya adalah default hostname, pada bagian ini anda dapat memasukkan hostname komputer anda , contoh saya menggunakan hostname belajarkernel



tekan enter dan selanjutnya akan kembali ke sub menu general setup.  Masih banyak bagian yang lainnya dari bagian general setup ini , sedangkan yang lain tidak perlu di perbaharui ikuti saja konfigurasi yang diambil dari config kernel yang telah kita masukan yaitu .config . Jadi kita hanya menambah bagian Append version, hostname dan compresi kernel.

Bersambung ke bagian III

0 komentar:

Post a Comment