Jumat, 02 November 2007

CompiLer

(Artikel 1 )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

Tidak ada komentar: