Monday, December 2, 2013

Belajar Kernel Linux , Compile Kernel itu mudah ( Bagian I )

Apa itu kernel ? Kernel adalah sebuah sebuah sistem yang menjembatani dan memperkenalkan   Hardware ( Perangkat Keras ) Komputer dengan Operasi Sistem, sehingga sebuah operasi sistem dapat bekerja dengan baik karena mengenal perangkat keras yang dimilikinya. Tentunya setiap Operasi Sistem memiliki Kernel yang merupakan nafas pertama pada saat Komputer diaktifkan, tanpa kernel maka kita selaku brainware tidak dapat menggunakan kemampuan dari perangkat-perangkat tersebut. Seperti halnya dengan Operasi Sistem Linux yang membuka Soure Code kernelnya kepada siapapun yang membutuhkannya. Dan dengan terbukanya Kernel ini maka banyak lahir perangkat komunikasi yang saat ini sering kita pergunakan, seperti Router, DVB CCTV, Smartphone dan masih banyak lagi perangkat-perangkat keras yang lahir dari source code Kernel Linux yang dibuka secara bebas ini.


Pada Operasi Sistem Linux , untuk mengenali Perangkat keras yang dimiliki oleh Komputer baik, processor, memory, harddisk, kartu jaringan dan lainnya maka kernel ini lah yang pertama kali bekerja pada saat Boot komputer pertama kali. Bila terjadi kesalahan karena kernel yang ada tidak sesuai dengan perangkat yang dimiliki biasanya akan terdapat istilah "Kernel Panic" atau perangkat komputer tidak dapat berjalan (Hang) , walau sebenarnya "Kernel Panic" adalah sebuah informasi yang dihasilkan oleh Kernel itu sendiri bila menemui kesalahan pada saat membaca Hardware yang dimiliki ( Hacking Kernel ).

Perkembangan kernel Linux sangat pesat, saat ini  sudah mencapai Versi 3.12 dan tentunya setiap versi yang lahir memiliki kelebihan dan kekurangannya. Penyempurnaan beberapa source code Header C untuk beberapa library module , dan beberapa source code C terus disempurnakan namun tentunya semakin berkembang Versi kernel maka semakin besar ukuran dari Kernel Kompress ( Vmlinuz / Vmlinux ) dan semakin banyak module ( Istilah driver hardware  pada Linux ) yang terdapat pada setiap versi yang terus berkembang.

Bagi pengguna Linux, maka mengenal kernel tidak dapat dipisahkan terutama ketika komputer yang digunakan pada linux terdapat beberapa bagian hardware yang tidak dikenali atau tidak terdapat modulenya. Selain itu bagi para Developer Linux khususnya yang bergerak untuk membangun sebuah Distro Linux , kernel adalah bagian pertama yang harus dikuasai karena nantinya kernel inilah yang akan menjalankan dan mendeteksi perangkat komputer yang dimiliki pada saat boot CD Install sebuah Distro Linux.

Untuk membuat sebuah Kompresi Kernel Vmlinuz / Vmlinux ada sebuah proses yang dikenal dengan proses Compile Kernel. Dan Compile Kernel ini lah yang menjadi 'Momok' bahwa compile kernel itu "sulit" walau sebenarnya Compile Kernel tidaklah sesulit dengan yang dibayangkan. "Compile Kernel it's Easy "

Semudah apa ? Mengcompile kernel itu sangat mudah sekali yang terpenting kita harus mengenal dari bagian-bagian yang ada pada Kernel tersebut.

Bagian-bagian ini juga harus dilandasi pengetahuan anda tentang machine ( CPU ) dari sebuah komputer terutama pada perangkat keras yang dimiliki. Bagian  tersebut adalah :
  1. Block Layer ( bagian ini adalah bagian yang mengatur tentang sistem Partisi pada layanan storage SCSI )
  2. Processor Type ( Bagian ini adalah bagian yang mengatur tentang Processor yang dimiliki )
  3. Power Management ACPI ( Bagian ini adalah bagian yang mengatur tentang fan processor, bagian power supply , batere dan lainnya )
  4. BUS Option ( Bagian ini bagan yang mengatur perangkat PCI )
  5. Execution File Format ( Bagian ini bagian yang mangtur file-file eksekusi yang dapat dijalankan support pada kernel linux)
  6. Networking Support ( Bagian ini adalah bagian yang mengatur perangkat yang memiliki kemampuan sebagai layanan networking seperti Irda ( Infra red ) , Bluetooth dan yang lainnya)
  7. Device Driver ( Bagian ini adalah bagian yang mengatur perangkat device lainnya yang terdapat pada komputer, baik USB ataupun perangkat lainnya, seperti audio, video card dan yang lainnya )
  8. Firmware Driver ( Bagian ini adalah bagian yang mengatur perangkat BIOS yang memiliki sistem BIOS Flash dan perangkat lainnya yang memiliki sistem BIOS tersendiri )
  9. File System ( Bagian ini adalah bagian untuk mengataur sistem format atau partisi sebuah storage data, baik itu harddisk , flash disk maupun CD ataupun DVD bukan pada devicenya melainkan isi data pada perangkat tersebut )

Nah bila anda sudah mengenali bagian ini, walau sebenarnya masih ada beberapa bagian lainnya seperti tentang security maupun cryptography  namun dengan cukup mengenal dari 9 bagian ini maka kita akan lebih mudah menambahkan atau mengurangi sebuah Modul Kernel pada saat akan kita compile.

Namun ada halnya yang terpenting , yaitu program compiler atau kita kenal dengan GCC Compiler dari Kernel ini harus sesuai , perhatikan Readme dari setiap kernel , karena setiap kernel hanya dapat dicompile dengan versi Compiler yang sesuai. Karena bila tidak sesuai, proses compile tidak dapat berlangsung dengan baik.

0 komentar:

Post a Comment