Download - Kompilasi Kernel Pada Linux CentOS 5.0

Transcript

Kompilasi Kernel Pada Linux centOS 5.0

Dosen pengampu :

Ibu Nila Feby P. S.Kom

Oleh:

Agus Supriyadi : 09.11.2695

Mochamad Fiqh P : 09.11.2652

Okta Dwi Saputro : 09.11.2696

Bondan Hartanto : 09.11.2688

Frendy A : 09.11.2678

Adi Nurcahya : 09.11.2645

Maksum Ro’is A : 09.11.2680

Andri Kurniawan : 09.11.2704

S1 – TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

STMIK AMIKOM YOGYAKARTA 2010

BAB 1

PENDAHULUAN

A. Latar Belakang

Linux adalah sebuah sistem operasi yang dikembangkan oleh Linus Benedict

Torvalds dari Universitas Helsinki Finlandia sebagai proyek hobi mulai tahun 1991.Ia

menulis Linux, sebuah kernel untuk prosesor 80386, prosesor 32-bit pertama dalam

kumpulan CPU Intel yang cocok untuk PC. Baru pada tanggal 14 Maret 1994 versi 1.0

mulai diluncurkan, dan hal ini menjadi tonggak sejarah Linux.

Linux termasuk sistem operasi yang didistribusikan secara open source, artinya

kode sumber Linux diikutsertakan sehingga dapat dipelajari dan dikembangkan dengan

mudah.Selain itu Linux dikembangkan oleh GNU (General Public License). Linux dapat

digunakan untuk berbagai keperluan, seperti: jaringan, pengembangan software, dan

sebagai end-user platform. Selama ini Linux menjadi sistem operasi yang menjadi banyak

perhatian karena kecanggihan dan harganya yang relatif murah dibanding dengan sistem

operasi yang lain. Macam-macam distribusi Linux antara lain: Fedora, Stackware,

Debian, RedHat, S.u.s.e., Caldera,CentOS, dan Turbo Linux dan lain-lain.

B. Pengertian kernel

Dalam ilmu komputer, kernel adalah suatu perangkat lunak yang menjadi bagian

utama dari sebuah sistem operasi.Tugasnya melayani bermacam program aplikasi untuk

mengakses perangkat keras komputer secara aman.

Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu

program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas

untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian

perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.

Akses kepada perangkat keras secara langsung merupakan masalah yang

kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi

hardware.Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan

kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan

seragam.Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer.

Untuk menjalankan sebuah komputer kita tidak harus menggunakan kernel sistem

operasi. Sebuah program dapat saja langsung diload dan dijalankan diatas mesin

'telanjang' komputer, yaitu bilamana pembuat program ingin melakukan pekerjaannya

tanpa bantuan abstraksi perangkat keras atau bantuan sistem operasi. Teknik ini

digunakan oleh komputer generasi awal, sehingga bila kita ingin berpindah dari satu

program ke program lain, kita harus mereset dan meload kembali program-program

tersebut.

Sebuah kernel sistem operasi tidak harus ada dan dibutuhkan untuk menjalankan

sebuah komputer.Program dapat langsung dijalankan secara langsung di dalam sebuah

mesin (contohnya adalah CMOS Setup) sehingga para pembuat program tersebut

membuat program tanpa adanya dukungan dari sistem operasi atau hardware

abstraction.Cara kerja seperti ini, adalah cara kerja yang digunakan pada zaman awal-

awal dikembangkannya komputer (pada sekitar tahun 1950). Kerugian dari diterapkannya

metode ini adalah pengguna harus melakukan reset ulang komputer tersebut dan

memuatkan program lainnya untuk berpindah program, dari satu program ke program

lainnya. Selanjutnya, para pembuat program tersebut membuat beberapa komponen

program yang sengaja ditinggalkan di dalam komputer, seperti halnya loader atau

debugger, atau dimuat dari dalam ROM (Read-Only Memory). Seiring dengan

perkembangan zaman komputer yang mengalami akselerasi yang signifikan, metode ini

selanjutnya membentuk apa yang disebut dengan kernel sistem operasi

Selanjutnya, para arsitek sistem operasi mengembangkan kernel sistem operasi

yang pada akhirnya terbagi menjadi empat bagian yang secara desain berbeda, sebagai

berikut:

▪ Kernel monolitik. Kernel monolitik mengintegrasikan banyak fungsi di dalam kernel

dan menyediakan lapisan abstraksi perangkat keras secara penuh terhadap

perangkat keras yang berada di bawah sistem operasi.

▪ Mikrokernel. Mikrokernel menyediakan sedikit saja dari abstraksi perangkat keras dan

menggunakan aplikasi yang berjalan di atasnya—yang disebut dengan server—

untuk melakukan beberapa fungsionalitas lainnya.

▪ Kernel hibrida. Kernel hibrida adalah pendekatan desain microkernel yang

dimodifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam

ruangan kernel untuk meningkatkan performanya.

▪ Exokernel. Exokernel menyediakan hardware abstraction secara minimal, sehingga

program dapat mengakses hardware secara langsung. Dalam pendekatan desain

exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi

yang mirip dengan abstraksi yang dilakukan dalam desain monolithic kernel.

Modul kernel Linux adalah bagian dari kernel Linux yang dapat dikompilasi,

dipanggil dan dihapus secara terpisah dari bagian kernel lainnya saat dibutuhkan.Modul

kernel dapat menambah fungsionalitas kernel tanpa perlu me-reboot sistem. Secara teori

tidak ada yang dapat membatasi apa yang dapat dilakukan oleh modul kernel. Kernel

modul dapat mengimplementasikan antara lain device driver, sistem berkas, protokol

jaringan.

Modul kernel Linux memudahkan pihak lain untuk meningkatkan fungsionalitas

kernel tanpa harus membuat sebuah kernel monolitik dan menambahkan fungsi yang

mereka butuhkan langsung ke dalam image dari kernel. Selain hal tersebut akan membuat

ukuran kernel menjadi lebih besar, kekurangan lainnya adalah mereka harus membangun

dan me-reboot kernel setiap saat hendak menambah fungsi baru. Dengan adanya modul

maka setiap pihak dapat dengan mudah menulis fungsi-fungsi baru dan bahkan

mendistribusikannya sendiri, di luar GPL. Kernel modul juga memberikan keuntungan

lain yaitu membuat sistem Linux dapat dinyalakan dengan kernel standar yang minimal,

tanpa tambahan device driver yang ikut dipanggil. Device driver yang dibutuhkan dapat

dipanggil kemudian secara eksplisit maupun secara otomatis saat dibutuhkan. Terdapat

tiga komponen untuk menunjang modul kernel Linux.Ketiga komponen tersebut adalah

manajemen modul, registrasi driver, dan mekanisme penyelesaian konflik

Proses instalasi kernel yang berasal dari rilis resmi ke dalam distribusi CentOS

tidak dapat dilakukan seperti petunjuk yang diberikan pada situs www.kernel.org. Proses

instalasi yang harus dilakukan mengikuti langkah-langkah sebagai berikut (tentu saja

dengan user root):

BAB II

KOMPILASI KERNEL PADA centOS 5.0

A. Sejarah Singkat CentOS 5.0

Pada pertengahan Maret 2007 RedHat baru saja merilis RedHat Enterprise Linux

(RHEL) versi 5.0 tak lama kemudian terdapat beberapa distro turunan RHEL 5 yang juga

dirilis salah satunya adalah CentOS 5.0.CentOS 5.0 merupakan distro linux untuk

enterprise yang dibuat berbasiskan kode sumber RHEL 5.0.

Karena dibuat berbasiskan RHEL 5.0,banyk teknologi terbaru yang diadopsi oleh

CentOS 5.0.Sejumlah tool untuk mempermudah pembuatan virtualisasi di RHEL 5.0

seperti Libvirt,Virtual machine manager,dan Xen 3.0,sudah terdapat pada CentOS 3.0.

Secara umum CentOS 5.0 dapat dibilang distro yang paling baik untuk kalangan

perusahaan yang ingin merasakan fitur RHEL 5.0 tanpa diharuskan membayar lisensi.

B. Kompilasi kernel Linux di CentOS

a. Kompilasi secara Offline (tidak terhubung dengan internet)

Kita bisa menggunakan fresh kernel terbaru dari kernel source, tipe yang

kami gunakan adalah linux-2.6.34.tar.gz. Silahkan download di

http://www.kernel.org/pub/linux/kernel/v2.6/. Proses kompilasi yang kami

lakukan pada laptop dengan prosesor Intel Centrino 1,73 GHz dan memory 512

MB.

Langkah-langkahnya sebagai berikut :

1. Setelah source kernel di-download, copy ke direktori lokasi source

kernel di /usr/src/kernels. Ini adalah lokasi source kernel yang

digunakan pada centOS 5.0.

# cp /home/fxekobudi/Download/linux-2.6.34.9.tar.gz

/usr/src/kernels/

2. Masuk ke direktori tersebut : # cd /usr/src/kernels/

3. Ekstrak tarbal source kernel : # tar -zxvf linux-2.6.34.9.tar.gz

4. Masuk ke direktori hasil ekstraksi : # cd linux-2.6.34.9

5. Mulai konfigurasi kernel, jalankan command : # make menuconfig

6. Akan muncul window konfigurasi kernel. Untuk kepentingan

upgrade, kita gunakan saja konfigurasi default kernel supaya lebih

mudah. Pilih Exit dan Save untuk menyimpan konfigurasi.

7. Jalankan kompilasi : # make

8. Membuat image vmlinuz dengan command : # make bzImage

9. Membuat module aktif yang sudah dikompilasi : # make modules

10. Instal module dengan command : # make modules_install

11. Sampai disini kita hanya perlu instal kernel yang baru di GRUB

(boot loader default CentOS 5.0). Gunakan command : # make

install

Silahkan check file konfigurasi GRUB di /etc/grub.conf, disitu akan

muncul konfigurasi untuk menjalankan kernel baru kita. Pada laptop yang saya

gunakan, menjadi sebagai berikut:

title CentOS (2.6.34.9)

root (hdo,7)

kernel/vmlinuz-2.6.34.9 ro root=LABEL=/rhgbquite

initrd/ Initrd-2.6.34.9.img

catatan : tetap aktifkan konfigurasi untuk kernel bawaan centOS 5.0 pada saat

instalasi, karena kita belum tahu apakah kernel yang baru dapat berjalan dengan

baik atau tidak. Dengan demikian, pada saat booting, kita bisa memilih

menggunakan kernel baru atau kernel yang lama.

Selanjutnya coba restart dan boot dengan kernel yang baru, dan setelah masuk di

centOS 5.0, buktikan kernel tersebut dengan menjalankan command : # uname –r

b. Kompilasi secara Online (terhubung dengan internet)

Buka terminnal dan ketikkan perintah berikut :

rpm -Uvh

http://mirror.pacific.net.au/linux/CentOS/5.0/os/i386/CentOS/ce

ntos-release-5-0.0.el5.centos.2.i386.rpm

atau juga :

http://mirror.pacific.net.au/linux/CentOS/5.0/os/i386/CentOS/centos-

release-notes-5.0.0-2.i386.rpm

http://mirror.pacific.net.au/linux/CentOS/5.0/os/i386/CentOS/centos-

release-notes-5.0.0-2.i386.rpm

Tunggu hingga proses selesai dan kemudian ketikkan :

mv CentOS-Base.repo CentOS-Base.repo.CentOS4

mv CentOS-Base.repo.rpmnew CentOS-Base.repo

Tunggu hingga proses selesai dan kemudian ketikkan :

yum remove hal

Tunggu hingga proses selesai dan kemudian ketikkan :

yum clean all

Tunggu hingga proses selesai dan kemudian ketikkan :

uname -a

Tunggu hingga proses selesai dan kemudian ketikkan :

rpm -e --nodeps --justdb kernel-2.6.9-42.0.10.EL kernel-smp-

2.6.9-42.0.10.EL

Tunggu hingga proses selesai dan kemudian ketikkan :

rpm-e --nodeps --justdb zaptel*

Tunggu hingga proses selesai dan kemudian ketikkan :

yum install kernel

Proses pun selesai : rpm -Uvh

http://mirror.pacific.net.au/linux/CentOS/5.0/os/i386/CentOS

/centos-release-5-0.0.el5.centos.2.i386.rpm

http://mirror.pacific.net.au/linux/CentOS/5.0/os/i386/CentOS

/centos-release-notes-5.0.0-2.i386.rpm rpm -Uvh http://mirror.pacific.net.au/linux/CentOS/5.0/os/i386/CentOS

/centos-release-5-0.0.el5.centos.2.i386.rpm

http://mirror.pacific.net.au/linux/CentOS/5.0/os/i386/CentOS

/centos-release-notes-5.0.0-2.i386.rpm (all one line) rpm -Uvh http://mirror.pacific.net.au/linux/CentOS/5.0/os/i386/CentOS

/centos-release-5-0.0.el5.centos.2.i386.rpm

http://mirror.pacific.net.au/linux/CentOS/5.0/os/i386/CentOS

/centos-release-notes-5.0.0-2.i386.rpm (semua satu baris) mv CentOS-Base.repo CentOS-Base.repo.CentOS4 mv CentOS-Base.repo.rpmnew CentOS-Base.repo yum remove hal yum clean all uname -a rpm -e --nodeps --justdb kernel-2.6.9-42.0.10.EL kernel-smp-

2.6.9-42.0.10.EL rpm-e --nodeps --justdb zaptel* yum remove asterisk-addons yum upgrade yum install kernel reboot

NB: Warning, Jangan Lakukan yum remove hal, karena ini bisa juga menghapus file file yang diperlukan untuk installasi,

karena dependecy. Dalam kasus ini ada beberapa file kehapus,

karena nggak ngeh terhadap file depedency nya, jadiny file

yum, wget, ls dll ikut juga terhapus. Jadi hati hati ya....,

atau file yum remove hal tidak usah di jalankan. Peringatan,

Jangan Lakukan yum remove hal, karena ini bisa juga menghapus file file yang diperlukan untuk installasi, karena

dependecy. Dalam kasus ini ada beberapa file kehapus, karena

nggak ngeh terhadap file depedency nya, jadiny file yum,

wget, ls dll ikut juga terhapus. Jadi hati hati ya...., atau

file yum remove hal tidak usah di jalankan.

yum remove hal, karena ini bisa juga menghapus file file

yang diperlukan untuk installasi, karena dependecy. Dalam

kasus ini ada beberapa file kehapus, karena nggak ngeh

terhadap file depedency nya, jadiny file yum, wget, ls dll

ikut juga terhapus. Jadi hati hati ya...., atau file yum

remove hal tidak usah di jalankan.

C. Gambar Proses Kompilasi Kernel pada centOS

a. Proses Offline

>>

>

>>

>>

Keterangan : Proses yang kami lakukan secara offiline belum berhasil dan baru mencapai tahap

ini, dimana proses bisa dilanjutkan apabila ditambahakan “gcc” terlebih dahulu, agar bisa

mengenali perintah “make menuconfig”.

b. Proses Online

(untuk proses online belum sempat kami abadikan secara sempurna tapi kami

sudah berhasil hingga proses terakhir dan lancar)

D. Pembagian tugas

Mochamad Fiqh P : ngoprek kernel

Ma’shum Rois Adin Syaf : ngoprek kernel

Agus Supriyadi : pembuat makalah

Okta Dwi Saputro : pembuat makalah

Adi Nurcahya : pembuat makalah

Bondan Hartanto : pembuat slide presentasi

Frendy Andriansyah : pembuat slide presentasi

Andri Kurniawan : pembuat slide presentasi

BAB III

PENUTUP

A. Kesimpulan

Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah

sistem operasi.Tugasnya melayani bermacam program aplikasi untuk mengakses

perangkat keras komputer secara aman.

Pada pertengahan Maret 2007 RedHat baru saja merilis RedHat

Enterprise Linux (RHEL) versi 5.0 tak lama kemudian terdapat beberapa distro turunan

RHEL 5 yang juga dirilis salah satunya adalah CentOS 5.0.CentOS 5.0 merupakan distro

linux untuk enterprise yang dibuat berbasiskan kode sumber RHEL 5.0.

Karena dibuat berbasiskan RHEL 5.0,banyk teknologi terbaru yang diadopsi oleh

CentOS 5.0.Sejumlah tool untuk mempermudah pembuatan virtualisasi di RHEL 5.0

seperti Libvirt,Virtual machine manager,dan Xen 3.0,sudah terdapat pada CentOS 3.0.

Secara umum CentOS 5.0 dapat dibilang distro yang paling baik untuk kalangan

perusahaan yang ingin merasakan fitur RHEL 5.0 tanpa diharuskan membayar lisensi.

Adapun cara kompilasi kernel pada centOS ada dua cara yaitu :

1. Secara offline yaitu tanpa terhubung dengan internet dan kita mendownload

seluruh source yang dibutuhkan terlebih dahulu.

2. Secara Online yaitu proses kompilasi yang terhubung langsung dengan

internet

B. Penutup

Demikian makalah ini kami buat semoga bermanfaat, mohon maaf atas

banyak nya kekurangan yang ada, tapi ini sudah hasil maksimal yang kami

raih setelah proses selama 2 minggu secara maraton.

Refrensi

1. http://www.centos.org

2. http://www.centos-id.org

3. en.wikipedia.org/wiki/CentOS_(operating_system)

4. http://en.wikipedia.org/wiki/Linux_kernel

5. http://www.aioalloperator.com

6. http://tulangbelakang.co.cc/category/centOS/