Home > Miftaslacker > memilih Kernel

memilih Kernel

Kernel

Kernel adalah bagian dari sistem operasi yang menyediakan akses ke perangkat keras, kontrol proses, dan kontrol sistem secara keseluruhan. Kernel berisi dukungan terhadap perangkat keras Anda, sehingga memilih satu kernel untuk sistem Anda adalah sebuah langkah setup yang penting.

Slackware menyediakan lebih dari satu dosin kernel yang sudah dikompilasi yang dapat Anda pilih, dengan setiap kernel terdiri dari satu set driver standar dan juga driver khusus tambahan. Anda bisa menjalankan salah satu dari kernel ini atau Anda bisa membangun kernel Anda sendiri dari sumbernya. Entah cara mana yang Anda pakai, Anda harus memastikan bahwa kernel Anda memiliki dukungan perangkat keras yang dibutuhkan sistem Anda.

Direktori /kernels pada CD-ROM Slackware

Kernel Slackware yang sudah dikompilasi tersedia pada direktori /kernels pada CD-ROM Slackware atau pada situs FTP pada direktori utama Slackware. Kernel yang tersedia berubah ketika rilis baru tersedia, sehingga dokumentasi pada direktori tersebut selalu adalah sumber. Direktori /kernels memiliki sub direktori untuk setiap kernel yang tersedia. Sub direktori akan memiliki nama yang sama dengan disket boot. Pada setiap sub direktori Anda akan menemukan berkas-berkas berikut:
Berkas Tujuan
System.map Berkas peta sistem untuk kernel ini
bzImage Citra kernel yang sesungguhnya
config Berkas konfigurasi sumber untuk kernel ini

Untuk menggunakan sebuah kernel, salin berkas System.map dan config pada direktori /boot Anda dan salin citra kernel ke /boot/vmlinuz. Jalankan /sbin/lilo(8) untuk menginstall LILO untuk kernel baru, dan jalankan ulang (reboot) sistem Anda. Itulah langkah untuk menginstall kernel baru.

Kernel yang berakhiran dengan .i adalah kernel IDE. Kernel tersebut tidak menyertakan dukungan terhadap SCSI pada kernel dasar. Kernel yang berakhiran dengan .s adalah kernel SCSI. Kernel ini menyertakan semua dukungan IDE pada kernel .i dan juga dukungan terhadap SCSI.

Mengkompilasi Sebuah Kernel dari Sumber

Pertanyaan “Apakah saya harus mengkompilasi sebuah kernel untuk sistem saya?” sering ditanyakan oleh banyak pengguna baru. Jawabannya adalah mungkin. Terdapat beberapa kasus dimana Anda perlu untuk mengkompilasi sebuah kernel spesifik pada sistem Anda. Sebagian besar pengguna dapat menggunakan kernel yang sudah dikompilasi dan modul kernel untuk mendapatkan sistem yang bekerja secara penuh. Anda perlu mengkompilasi kernel untuk sistem Anda jika Anda mengupgrade versi kernel yang tidak ditawarkan pada Slackware, atau jika Anda telah melakukan tambalan (patch) pada sumber kernel untuk mendapatkan dukungan khusus terhadap perangkat tertentu yang tidak terdapat pada kode sumber native. Seseorang dengan sistem SMP jelas akan mengkompilasi sistem dengan dukungan SMP. Banyak pengguna juga menemukan bahwa kernel yang dikompilasi secara khusus akan berjalan lebih cepat pada mesin-mesin mereka. Anda mungkin akan menemukan bahwa mengkompilasi kernel dengan optimasi untuk prosesor tertentu pada mesin Anda sangatlah berguna.

Membangun kernel Anda sendiri tidaklah susah. Langkah pertama adalah memastikan Anda telah memiliki kode sumber terinstall pada sistem Anda. Pastikan Anda telah menginstall paket-paket dari seri K selama installasi. Anda juga harus memastikan bahwa Anda telah menginstall seri D, terutama kompiler C, GNU make, dan GNU binutils. Secara umum, merupakan ide yang bagus untuk menginstall seluruh paket pada seri D jika Anda hendak melakukan pengembangan. Anda juga bisa mendownload kode sumber kernel terbaru dari http://www.kernel.org/mirrors.

Kompilasi Kernel Linux versi 2.4.x

% su -
Password:
# cd /usr/src/linux

Langkah pertama adalah mengembalikan kode sumber pada kondisi dasarnya. Kita menjalankan perintah ini untuk melakukan hal tersebut (catatan, Anda mungkin harus melakukan cadangan dari berkas .config karena perintah ini akan menghapus tanpa peringatan):

# make mrproper

Sekarang Anda bisa mengkonfigurasi kernel untuk sistem Anda. Kernel menawarkan tiga cara untuk melakukannya. Cara pertama adalah sistem tanya-jawab berbasis teks. Sistem ini menanyakan sejumlah pertanyaan dan membangun berkas konfigurasi. Masalah dengan metode ini adalah jika Anda melakukan kesalahan, Anda harus mengulang dari awal. Metode yang lebih disukai adalah sistem berbasis menu. Terakhir, terdapat alat bantu konfigurasi kernel berbasis-X. Pilih salah satu yang Anda inginkan dan jalankan perintah yang sesuai:

# make config (berbasis-teks versi Q&A)
# make menuconfig (berbasis menu, versi berbasis-teks)
# make xconfig (versi berbasis-X, pastikan Anda berada pada X)

Menu Konfigurasi Kernel

Pengguna baru akan menemukan bahwa menuconfig adalah yang termudah. Layar bantuan disediakan untuk menjelaskan bagian-bagian dari kernel. Setelah mengkonfigurasi kernel Anda, keluar dari program konfigurasi. Proses ini akan menuliskan berkas konfigurasi yang diperlukan. Sekarang kita bisa mempersiapkan untuk proses build:

# make dep
# make clean

Langkah berikutnya adalah untuk mengkompilasi kernel. Pertama-tama cobalah untuk melakukan perintah bzImage dibawah.

# make bzImage

Langkah ini akan memerlukan waktu, tergantung dari kecepatan CPU Anda. Selama proses, Anda akan melihat pesan-pesan kompiler. Setelah membangun citra kernel, Anda perlu membangun semua bagian dari kernel yang Anda tandai sebagai modular.

# make modules

Sekarang kita bisa menginstall kernel dan modul yang Anda kompilasi. Untuk menginstall kernel pada sistem Slackware, perintah berikut harus dijalankan:

# mv /boot/vmlinuz /boot/vmlinuz.old
# cat arch/i386/boot/bzImage > /vmlinuz
# mv /boot/System.map /boot/System.map.old
# cp System.map /boot/System.map
# make modules_install

Anda mungkin perlu mengedit /etc/lilo.conf dan menambahkan sebuah bagian untuk boot ke kernel lama Anda jika kernel yang baru tidak berjalan. Setelah melakukan hal tersebut, jalankan /sbin/lilo untuk menginstall blok boot yang baru. Sekarang Anda bisa reboot dengan kernel baru.

Kernel Linux Versi 2.6.x

kompilasi kernel 2.6 hanya berbeda sedikit dari kernel 2.4 atau 2.2, tetapi perlu Anda ketahui perbedaan ini sebelum mencobanya. Sekarang tidak lagi diperlukan menjalankan make dep dan make clean. Juga, proses kompilasi kernel tidak akan sedetail pada kernel 2.6. Ini menghasilkan sebuah proses build yang lebih mudah untuk dimengerti, tetapi juga memiliki beberapa masalah. Jika Anda mengalami masalah dalam membangun kernel, sangatlah dianjurkan untuk mengaktifkan tingkat detail (verbose). Anda melakukan hal ini dengan menambahkan V=1 pada build. Hal ini mengijinkan Anda untuk mendapatkan informasi lebih banyak yang dapat membantu pengembang kernel atau teman yang lain untuk membantu Anda menyelesaikan masalah.

# make bzImage V=1

Menggunakan Modul Kernel

Modul kernel adalah nama lain untuk driver perangkat yang bisa disertakan pada kernel yang berjalan. Modul kernel mengijinkan Anda untuk memperluas dukungan perangkat keras pada kernel tanpa harus memilih kernel lain atau mengkompilasinya sendiri.

Modul-modul dapat dimuat dan dibuang kapan saja, bahkan ketika sistem berjalan. Hal ini membuat proses upgrade driver tertentu menjadi lebih mudah bagi administrator sistem. Sebuah modul baru dapat dikompilasi, modul lama dihapus, dan modul baru dimuat, semua bisa dilakukan tanpa me-reboot mesin.

Modul-modul disimpan pada direktori /lib/modules/versi kernel pada sistem Anda. Modul-modul tersebut dapat dimuat pada saat boot melalui berkas rc.modules. Berkas ini diberi komentar dengan baik dan menawarkan contoh-contoh untuk komponen-komponen perangkat keras yang utama. Untuk melihat daftar modul-modul yang aktif, gunakan perintah lsmod(1):

# lsmod
Module Size Used by
parport_pc 7220 0
parport 7844 0 [parport_pc]

Anda bisa melihat disini bahwa saya hanya memiliki modul port parallel yang dimuat. Untuk menghapus sebuah modul, Anda bisa menggunakan perintah rmmod(1). Modul-modul dapat dimuat oleh perintah modprobe(1) atau insmod(1). modprobe biasanya lebih aman karena ia akan memuat modul-modul yang berhubungan dengan sembarang modul yang hendak Anda muat.

Banyak pengguna tidak perlu memuat atau menghapus modul secara manual. Mereka menggunakan autoloader kernel untuk manajemen modul. Secara default, Slackware menyertakan kmod pada kernelnya. kmod adalah opsi kernel yang mengijinkan kernel untuk memuat modul-modul secara otomatis ketika diperlukan. Untuk informasi lebih banyak tentang kmod dan bagaimana ia dikonfigurasi, lihat /usr/src/linux/Documentation/kmod.txt. Anda harus memiliki paket kode sumber kernel, atau download kode sumber kernel dari http://kernel.org.

Categories: Miftaslacker Tags:
  1. No comments yet.
  1. No trackbacks yet.