Koedoes’s Weblog











{October 18, 2007}   Kompail Kernel
Kompail Kernel
Seperti yang telah diketahui, kernel adalah program yang dimuat pada 
saat boot yang berfungsi sebagai interface antara user-level program 
dengan hardware. Secara teknis linux hanyalah sebuah kernel. Pogram 
lain seperti editor, kompiler dan manajer yang disertakan dalam paket
(SuSE, RedHat,Mandrake,dll) hanyalah distribusi yang melengkapi 
kernel menjadi sebuah sistem operasi yang lengkap. Kernel membutuhkan
konfigurasi agar dapat bekerja secara optimal.

Konfigurasi ulang dilakukan jika ada device baru yang belum dimuat. 
Setelah melakukan konfigurasi, lakukan kompilasi untuk mendapatkan 
kernel yang baru. Tahap ini memerlukan beberapa tool, seperti 
kompiler dsb. Kompile kernel ini dilakukan jika ingin mengupdate 
kernel dengan keluaran terbaru. Kernel ini mungkin lebih baik dari 
pada yang lama.

Tahap kompilasi ini sangat potensial untuk menimbulkan kesalahan atau
kegagalan, oleh karena itu sangat disarankan untuk mempersiapkan 
emergency boot disk, sebab kesalahan umumnya mengakibatkan sistem mogok.

Ada beberapa langkah yang umumnya dilakukan dalam mengkompilasi 
kernel, yaitu :
1. Download kernel
   Tempat untuk mendownload kernel ada di beberapa situs internet. 
	Silakan dicari sendiri. Tetapi biasanya di "kambing.vlsm.org" ada 
	versi-versi kernel terbaru. Source kernel tersebut biasanya dalam 
	format linux-X.X.XX.tar.gz, di mana X.X.XX menunjukkan nomor versi
	kernel. Misalnya 2.6.11. Nomor tersebut dibagi menjadi tiga 
	bagian, yaitu:
	- Major number
   - Minor number
   - Revision number
   Pada contoh versi kernel di atas (2.6.40), angka 2 menunjukkan 
	major number. Angka ini jarang berubah. Perubahan angka ini 
	menandakan adanya perubahan besar (upgrade) pada kernel. Kemudian 
	angka 6 menunjukkan minor number. Angka ini menunjukkan 
	stabilitas. Angka genap (0,2,4,6,dst) menunjukkan kernel tersebut
	telah stabil. Angka ganjil menandakan bahwa kernel tersebut dalam 
	tahap pengembangan. Kernel ganjil mengandung experimental-code 
	atau feature terbaru yang ditambahkan leh developernya. Kernel 
	genap pada saat dirilis tidak ada penambahan lagi dan dianggap 
	sudah stabil. Percobaan terhadap feature-featur terbaru biasanya 
	dilakukan pada kernel dengan nomor minor yang ganjil. Dua angka 
	terakhir (11) menunjukkan nomor revisi. Ini menandakan current 
	path versi tersebut. Selama tahap pengambangan, nomor ini cepat 
	berubah. Kadang sampai dua kali dalam seminggu.

2. Kompilasi Kernel
   Kompile akan memakan waktu lama, dan seperti telah diberitahukan 
	diatas, sangat mungkin untuk menimbulkan kegagalan. 
	Di direktori /usr/src/linux jalankan: 
	make dep; make clean; make zImage. 
	Perintah make dep : membaca file konfigurasi dan membentuk 
	dependency tree. proses ini mengecek apa yang dikompile dan apa 
	yang tidak. 
	make clean : menghapus seluruh jejak kompilasi yang telah 
	dilakukan sebelumnya. Ini memastikan agar tidak ada feature lama 
	yang tersisa.
	make zImage : Kompilasi yang sesungguhnya. Jika tidak ada 
	kesalahan akan terbentuk kernel terkompresi dan siap dikompilasi.

	Sebelum dikompile, modul-modul yang berhubungan perlu dikompile 
	juga dengan make modules. Cek lokasi kernel, umumnya nama kernel 
	dimulai dengan vmlinuz, biasanya ada di direktori 
	/boot, atau buka /etc/lilo.conf untuk memastikannya. Di sini tidak
	akan dijelaskan secara mendetail langkah-langkah dalam mengompile 
	kernel. Langkah-langkah ini dapat dilihat di banyak situs, salah 
	satunya situs "bebas.vlsm.org/v09/onno-ind-1/ network/
	ppt-linux-ethernet-10-2000.ppt" yang dibuat oleh Onno W. Purbo 
	dengan slide. Sebelum kernel modul diinstalasi, sebaiknya back up 
	dulu modul lama. Keuntungan memback-up modul lama adalah bila 
	nanti modul baru tidak berjalan baik, maka modul lama bisa 
	digunakan lagi dengan menghapus modul baru. Setelah tahap ini 
	selesai, jalankan lilo, reboot sistem dan lihat hasilnya.

3. Konfigurasi Kernel
   Konfigurasi kernel adalah tahap terpenting yang menentukan 
	kualitas sebuah kernel. Mana yang harus diikutkan, dan mana yang 
	harus ditinggal sesuai tuntutan hardware dan keperluan.

	Konfigurasi dimulai dari directori /usr/src/linux. Ada tiga cara: 
	- make config, berupa text base interface, cocok untuk user yang 
 	  memiliki terminal mode lama dan tidak memiliki setting termcap. 
	- make menuconfig, berupa text base juga tapi memiliki puldown 
	  menu berwarna, digunakan untuk user yang memiliki standar 
	  console.
	- make xconfig, interface menggunakan layar grafik penuh, untuk 
	  user yang sudah memiliki X Window.

	Ada sekitar 14 menu pilihan dimulai dari Code maturity level 
	options sampai kernel hacking. Masing-masing memiliki submenu bila
	dipilih dan pilihan yes(y), module(m), atau no(n). Setiap pilihan 
	dimuat/kompile ke dalam kernel akan memperbesar ukuran kernel. 
	Karena itu pilih feature-feature yang sering digunakan atau 
	jadikan module untuk feature yang tidak sering digunakan. Dan 
	jangan memasukkan feature-feature yang tidak dibutuhkan. Setelah 
	selesai melakukan pilihan konfigurasi, simpanlah sebelum keluar 
	dari layar menu konfigurasi.

4. Patch Kernel
   Setiap dikeluarkan kernel versi terbaru juga dikeluarkan sebuah 
	file patch. File patch ini jauh lebih kecil dari file source 
	kernel sehingga jauh lebih cepat bila digunakan untuk upgrade 
	kernel.File ini hanya bekerja untuk mengupgrade satu versi kernel 
	dibawahnya. Misalnya, versi kernel 2.4.19 hanya bisa diupgrade 
	dengan file patch 2.4.20 menjadi kernel 2.4.20. Umumnya file patch
	ini tersedia pada direktori yang sama di FTP dan website yang 
	menyediakan source kernel. File-file patch tersedia dalam 
	format .gz


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

et cetera
%d bloggers like this: