Download - kernel linux

Transcript
Page 1: kernel linux

Home » Kernel

Basic

Apa itu Kernel ?

Kernel - The Heart of Linux

Kernel adalah inti sistem operasi Linux. Sumber segala sumber adalah www.kernel.org Di situs ini Linus torvald bersama ribuan hacker dari segala penjuru dunia merancang bangun kernel dengan standar kualifikasi yang prima.

Kernel bukanlah topik yang baik untuk mengawali belajar tentang Linux. Tapi paling tidak Anda sudah berjalan kearah yang benar. :)

Kernel adalah suatu program dasar yang menjembatani antara user level dan hardware level. Mengatur multitasking, interupt, penggunaan memory, kerja prosesor, dan lain sebagainya.

Semisal Anda menggunakan program writer pada open office untuk mengetik kata HALO APA KHABAR ?, maka pada saat Anda melakukan saving file,Kernel akan mengecek hak akses, mengecek kapasitas yang tersedia, menentukan dilokasi mana file Anda disimpan pada piringan hardisk.

kernel

Kernel Linux didesain terisolasi dengan user space. Mode proteksi CPU dan Memory aktif. Maksudnya suatu user program dibatasi agar tidak dapat melanggar hak akses ke, atau lewat kernel .

Hal ini yang menyebabkan Linux menjadi sistem operasi yang Tangguh, alias jarang Hang. Bahkan jika seseorang sebagai (user biasa) membuat program khusus untuk 'meng-crashkan' kernel, pada

Page 2: kernel linux

umumnya juga kesulitan.

Pengaturan ketat pada kernel juga berimbas pengaturan Hardware dan software tidak se user friendly di Ms Windows. Tapi hal ini jauh lebih baik daripada siapa saja dapat berbuat apa saja pada sistem Anda :)

Pengaturan Kernel tidak harus dilakukan jika orientasi Anda murni sebagai end-user. Setiap distro menyediakan kernel Generic untuk pemakai yang tidak ingin melakukan konfigurasi ataupun kompilasi kernel baru.

Jika Anda ingin melakukan optimasi Kernel, syarat minimal yang perlu Anda punyai adalah pengetahuan tentang hardware pada komputer Anda. Syukur jika Anda mengetahui masalah teknis mengenai arsitektur komputer secara umumnya. Mendesain kernel bisa sederhana sampai serumit kayak persamaan integral parsial pas ujian matematika hehehe

Ada yang ingin mencoba ?

DefaultKernel

Kernel Standart

Oke ! sebelum lanjut..... Baca bagian di bawah ini dengan hati2 !

Kernel source sendiri berupa source code berukuran 250 MB (untuk versi 2.6.21.5). Berisi ratusan modul dan fasilitas. Mensupport mulai arsitektur X86 sampai Renesas.

Anda mengatur parameter Kernel, kemudian melakukan kompilasi.

Kompilasi akan menghasilkan modul dan Image Kernel. Inilah yang dipakai saat boot. Ukuran Image ini sekitar 2-4 MByte.

Saat ini, istilah Kernel lebih mengarah ke Image Kernel hasil kompilasi.

Jadi Ada 'Kernel source' berupa source code kernel dan 'Kernel Image' hasil kompilasi kernel.

Anda ---> Parameter-->Kernel Source-->Kompilasi-->Modul + Image.

Slackware mempunyai Image kernel standart. Ada huge.s, hugesmp.s dan lain sebagainya.

Ceritanya, Patrick Volkerding (pendiri Slackware) mengatur parameter kernel buat orang2 jelek seperti kita. Melakukan kompilasi (kadang istrinya yang melakukan),... dan hasilnya dinamakan generic.s, hugesmp.s, orangjelek.s dan lain sebagainya. Kernel ini siap saji.

Seiring berjalannya waktu, orang jelek seperti Anda dan saya tidak puas dengan kernel standart. Mulailah 'Ngoprek' Kernel !

Penuhlah forum linux dengan pertanyaan2 gila mulai dari cara instalasi sampai konfigurasi kernel. Dan... betapa teganya Anda ! Waktu Apel pacar kok buat kompile Kernel ! Hehehe

Makanya pada proses instalasi Linux Slackware, Anda akan ditanya Kernel (image) yang akan digunakan. Karena tidak tahu... Anda ENTER aja - pake default hugesmp.s :)

Jangan lanjut jika Anda tidak memahami konsep di atas !

Lho ! kok masih terus ?

Jangan lanjut jika Anda tidak memahami konsep di atas !

Ulangi membaca 5x sampai jelas. Saya akan menemani sambil minum kopi yang mulai dingin kena AC.

Page 3: kernel linux

Okedeh, saya akan menjelaskan Opsi Kernel pada Slackware 12.

Single Processor

Opsi ini ditujukan khusus bagi komputer dengan single CPU. Jika CPU yang digunakan adalah AMD Duron/Sempron/Athlon/Opteron, Intel P2/P3, dan P4, maka gunakan pilihan ini.

Maksudnya, CPU yang digunakan hanya mempunyai sebuah Core. (Anda dapat menyebutya Solo Core kalau ingin lebih Keren :)

Opsi yang tersedia :

generic.s

Generic kernel. Perangkat komputer umum biasanya sudah terkover dengan kernel ini.

huge.s

Full Feature kernel. Gunakan kernel ini jika Anda tidak yakin perangkat komputer Anda terdeteksi.

Multi Core - SMP

Opsi ini ditujukan untuk komputer yang mempunyai CPU single procesor dengan Dual atau Quad COre atau Multi Processor single/Dual/Quad COre. Versi CPU yang cocok : AMD Athlon X2/FX, Opteron 2xxx ,Intel Pentium D, COre2Duo, dan COre2Duo Quad.

Semisal saya mempunyai motherboard dengan sebuah processor Core2Duo, maka pilihan saya termasuk Multi COre.

Atau saya merancang sebuah server dengan 2 CPU masing2 processor adalah QUad COre.

Opsi yang tersedia :

hugesmp.s

Full Featured Kernel. Gunakan pilihan ini jika banyak perangkat keras model baru pada komputer/server Anda.

genericsmp.s

Standart Kernel.Opsi ini sudah mencukupi secara umum.

(SMP=Support MultiProcessor.)

Berapa banyak Processor yang disupport oleh Kernel Linux? 255 core/Processor !!

Hal Penting !!! :

Dibawah ini adalah beberapa hal penting yang musti diketahui sebelum berurusan dengan Kernel :)

Letak Source Kernel Letak source Kernel adalah di direktori :/usr/src/linux-2.6.x.x

File hasil kompilasi

vmlinuz atau bzImageTerletak di /usr/src/linux-2.6.x.x/arch/i386/boot System.mapTerletak di /usr/src/linux-2.6.x.x configTerletak di /usr/src/linux-2.6.x.x

Page 4: kernel linux

Folder /boot

File hasil kompilasi harus diletakkan di direktori /boot. (vmlinuz,System.map, dan config). Copy secara manual file hasi kompilasi diatas.

Catatan :

Jika kebutuhan komputer Anda umum, sedapat mungkin menggunakan kernel standart atau kernel generik. Anda tidak akan kebingunan semisal akan mengganti perangkat keras lain merek dan tipe.

Jika komputer Anda khusus baik kepemilikan maupun fungsi, semisal laptop (dimana pergantian komponen jarang dan biasanya semerek) Optimasi Kernel Anda.

..........Siap merancang kernel sendiri ?

Configuration

Konfigurasi Kernel

Ada ratusan konfigurasi yang dapat di tweak pada kernel. Untuk menampilkan menu konfigurasi ada beberapa pilihan :

make menuconfigMenu kernel sederhana berbasis ncurse (Dapat jalan di Mode teks/grafik)

k3rnelmake xconfigMenu berbasis grafik (Anda harus berada di lingkungan X)make configMenu berbasis teks (verbose). Anda akan ditanyai satu persatu.

Untuk menjalankan Menu Kernel, Anda harus sebagai root dan berada di direktori:

/usr/src/linux-2.6.x.x untuk menjalankan tool konfigurasi tersebut diatas.

Pilihan Menu kernel ada 3 :

Page 5: kernel linux

1. Yes (tanda bintang *)2. Modul (Tanda M)3. No (kosong)

Gunakan spacebar pada keyboard untuk mengubah option.

option kernel

Untuk selanjutnya, saya akan menggunakan make menuconfig

Optimasi

Optimasi Kernel

Siapkan 2 cangkir kopi ! Satu untuk saya :)

Lebih baik lagi, sebelum maju perang Anda mendata semua perangkat yang terdapat pada komputer Anda. Meliputi : processor,Chipset kontroler, perangkat grafik, sound, dan lain sebagainya.Tidak perlu terlalu detil tapi cukup jelas :)

Misal : Processor:AMD Athlon X2,Realtek sound, Nvidia Geforce, VIA controller (SATA, IDE, )

Langsung saja ! .....................#/usr/src/linux-2.6.21.5/make menuconfig

pertama

Buang driver/module yang tidak diperlukan !Oke ! Anda sudah bisa membuang semua Opsi modul/driver dari kernel Anda khan ?Dari pada kernel trial-error 10x memprobe komponen chipset Anda, berikan kepastian pada pacar Anda. oops ! kernel Anda :P

Kedua

Pengguna desktop : Atur clock Kernel 1000 Mhz

Pengguna server :

Sudah optimal - 250 MHz:)

Pengila Video editing :

Atur clock Kernel 300 MHz

Ketiga

Apa File system yang Anda gunakan ?ext3,reiserfs, exkt4,... ? Buang yang lainnya.

Hey ! Anda masih membutuhkan ekstension file system lain seperti Amiga, Solaris, Apple ? Jika tidak, buang saja.

Kempat

Heem..........belum puas ? Lihat BOOM !

Page 6: kernel linux

Boom !!

Boom !!

Saya akan berkomentar silahkan putuskan sendiri. Ini adalah SHARE. Apa yang benar bagi saya mungkin tidak untuk Anda. Ambil yang berguna saja :)

Code Maturity level option

Jika Anda pilih Y(*), maka modul yang obsolete maupun experimental akan ditampilkan. Jika N, maka hanya yang stabil /terbaru yang ditampilkan.

General Setup

local string Menambahkan ekstra string pada versi kernel. Misal -smp maka kernel Anda menjadi linux-2.6.21.5-smp. Bagaimana kalau -cuk ? Hehehe

Loadable module support

Ingin modul di load otomatis ? Jika tidak Anda musti melakukan /sbin/modprobe 'namamodul' manual. Biarkan tetap default slackware.

Block layer

Bagaimana ukuran transfer file Anda ? Besar2 jarang, atau kecil2 sering ? Untuk pemakaian biasa, biarkan default saja.

Processor type and features

Processor Famiy --> Pilih yang sesuai dengan processor Anda :)Preemption Model --> Desktop(Voluntary) atawa server ?Timer frequency --> 1000 HZ untuk desktop.

Jika Anda pengguna Slackware 11 dan ingin menggunakan kernel >2.6.18 misal kernel 2.6.23, aktifkan Compat VDSO support

Catatan : Berulangkali saya membandingkan antara default (Slackware) Processor family=Pentium Pro dengan yang lebih spesifik. Heem… tidak ada bedanya Hehehe

Preemption dan Timer Frequency punya dampak lebih signifikan, alias terasa bedanya. Lebih Wuzz jika saya memilih Preemption Model Desktop dan Timer Frequency=1000 HZ.

Tapi saya tidak menerapkan hal ini di Server yang menjalankan Apache , MySQL, dan Sendmail saya Hehehe. Lihat di help Kernel untuk keterangan lebih lanjut.

Power Management Support

ACPI Jika Anda pengguna Laptop, aktifkan pilihan AC adaptor, fan, video, Batterey, button,Processor, dan thermal.

Jika Anda pengguna laptop TOshiba, aktifkan ekstra Toshiba juga.

CPU Frequency scaling Hilangkan saja modul ini kecuali Anda menggunakan laptop yang Processornya bisa diatur frekuensinya. (Centrino atau Turion)

Performance governor --> Frekuensi CPU di set maxPowersafe governor --> Frekuensi CPU di set MinimalUserspace governor --> Frekuensi CPU Flexibel (terserah Anda)

Page 7: kernel linux

Untuk Laptop pilih Powersafe atau Userspace. Supaya baterey Laptop irit. Contohnya saya menjalankan Laptop Toshiba Portege R100 dengan frekuensi 600Mhz (minimal) hingga hemat daya dan Case tidak panas.

Bus Options (PCI,PCMCIA,EISA,MCA,ISA)

Anda punya slot ISA ? Komputer baru umumnya tidak ada slot ISA.

PCCARD. Komputer PC umumnya tidak membutuhkan PCMCIA/cardBus, kecuali laptop.

MCA dan PCI Hotplug support. Hilangkan bagian ini. Anda 99,8% tidak memerlukannya. Maksud PCI Hotplug adalah : Anda dapat memasang dan melepas card PCI saat komputer menyala. Hey ini berlaku kalau komputer Anda secara Hardware mensupportnya.

Executable File Format

Biarkan default bagian ini.

Networking Support

Amateur Radio Support. Hilangkan bagian ini jika komputer Anda tidak berhubungan dengan Radio 2M – ORARI

Networking Options. IPV6, WAN, Appletalk mungkin tidak dibutuhkan. WAN (Wide Area Network)... Anda punya card khusus WAN ? Atau Anda ingin berhubungan dengan komputer Apple ?

IrDA dan BLuetooth Pilih bagian ini jika Anda punya peralatan Infrared dan BLuetooth dan ingin terkoneksi ke komputer.

Device Driver

Bagian Device Driver adalah yang terbanyak di Kernel. Banyak sekali yang tidak perlu jika Anda hanya menggunakan PC Anda secara normal. Kecuali Anda bermain-main dengan jaringan, server, dan eksperimen lebih jauh.

Paralel Port Apa memerlukan paralel port buat printer dot matrix ?Block Devices

Floppy Anda masih menggunakan Floppy ?XT Hardisk Apa menggunakan hardisk tempo dulu (XT) ?

ATA over Ethernet support – Hilangkan bagian ini

Misc devices Anda tidak memerlukan IBM RSA :), atau Anda pengguna MSI atau Sony Laptop ?

Multi –devices-support.Jika Anda hanya mempunyai sebuah hardisk, dan tidak berencana mengubah ukuran partisi, hilangkan bagian ini.

Catatan : LVM berfungsi untuk mengubah ukuran partisi hardisk tanpa perlu mempartisi ulang.

Raid. Jalanin dua hardisk paralel buat jaga-jaga kalau yang satu rusak.

Fusion MPT- Hilangkan bagian iniI2O Biasanya digunakan untuk sensor suhu. Hati2 !!Macintosh-Anda berhubungan dengan Apple ?ISDN-Saya pakai flexi atau Speedy buat Internet. Jadi saya disable juga.Telphony Support Tidak pengaruh pada dialup modem.SPI Bisanya digunakan jika bermain2 dengan Mikrokontroler.

Multimedia devices.- Tidak punya Alat sebanggsa Handycam, Canopy, ya…saya disable saja. Aktifkan jika Anda punya perangkat tersebut dan ingin terkoneksi.

Page 8: kernel linux

Graphics support

Karena maniak NVDIA, segala nama yang tidak berhubungan dengannya saya buang :) Eit…Hati-hati.VESA VGA mutlak perlu. Karena motherboard umumnya pakai vga card VESA onboard. Siapa tahun card grafik saya jebol.

USB Support.

Bagian ini itemnya sedikit saya buang . Siapa tahu saya beli kamera Olympus, dapat hadiah music player . Yang pasti secara khusus saya membutuhkan Prolific PL 2301/2302 buat internetan lewat CDMA.

Pilihan M (modul)saya anjurkan dalam sesi ini. Begitu Anda punya peralatan via usb, maka kernel akan meload modul otomatis.

LED devicesBuang saja item ini :)Infiniband support Tidak ada Antena,tidak pernah main-main dengan infiniband. Jika Anda pengemar telekomunikasi dan mengerti maksudnya, aktifkan pilihan ini. Jika tidak...NO !

Virtualization Cuma punya satu sistem operasi Linux. Gak pingin pamer jalanin distro lain di 'dalam slackware' atau pamer jalanin Ms Windows di Linux. Tidak yakin ? Anda mesti punya Hardware yang mumpuni - Dual core minimal :)

File System

Saya hanya menggunakan reiserfs. Tidak ext3, tidak JFS, tidak Minix. Ya … saya buang yang lain. Hati-hati pada bagian ini. Apa Anda memberlakukan Quota ? Bermain2 dengan NFS (jaringan) ?

Jelasnya saya tidak membutuhkan Advanced partition yang isinya mulai dari Acorn sampai EFI.

Instrumentation support

Disable bagian ini. Kecuali Anda mengerti maksudnya. Terus terang saya tidak mengerti Hehehe

Kernel Hacking.

Biarkan default saja, kecuali Anda mengerti maksudnya :)

Security Option.

Idem Supaya suppport protokol sekurity yang berbeda.

Cryptographic options.

Kalau bisa support semua kenapa tidak ? Ada bermacam2 model enkripsi, lebih baik jika semua support.

Library routines.

Default aja.

MicKernel

Ah! inikan patch kernel dari saya Hehehe. Tidak ada di default kernel.

Setelah 'pusing' memilih option, sekarang kelangkah akhir ! Finishing

Finishing

Finishing

Page 9: kernel linux

Oke ! Anda sudah memilih option pada kernel.(Jangan Lupa save lho !!) Sekarang saatnya untuk mengkompile kernel.

Lakukan instruksi #make ....dan terjadilah proses kompilasi kernel selama break makan malam.

kompile kernel

Kemudian jangan lupa menginstall module : #make module_install

Copy file bzImage, System.map, dan .config ke direktori /boot

Ubah nama dari bzImage menjadi vmlinuz. .config menjadi config (tanpa titik didepan).

Mkinitrd

Buat initrd.gz dengan mengetikkan instruksi dibawah: #mkinitrd -c -k 2.6.21.5-smp -m reiserfs

Maka akan dihasilkan direktory /boot/initrd-treedan dihasilkan sebuah file initrd.gz pada direktory /boot

Saya menggunakan reiserfs, jika Anda menggunakan ext3, lakukan instruksi dibawah :

mkinitrd -c -k 2.6.21.5-smp -m ext3 -f ext3 -r /dev/hda1

hda1 menunjukkan partisi pertama hardisk ATA. Ganti sesuai kebutuhan. Misal Sata, maka gunakan /dev/sda1.

Edit lilo.conf

Tambahkan baris :initrd = /boot/initrd.gzsehingga menjadi seperti dibawah ini :

# Linux bootable partition config beginsimage = /boot/vmlinuzinitrd = /boot/initrd.gzroot = /dev/sda1label = Slack12read-only # Partitions should be mounted read-only for checking# Linux bootable partition config ends

Page 10: kernel linux

Lakukan instruksi #/sbin/lilo agar konfigurasi baru diterima.

Restart Komputer Anda.

KernelHacking

Jika sebelumnya bahasan kernel dibatasi kernel standar (bawaan distro), bagian ini merupakan kelas bebas :)

Mulai dari Install kernel terbaru dari http://kernel.org , Patching kernel, GRUB, ....

Xen Kernel...off the record, masih kosong atau coret2an

Sebagai patokan, distro yang digunakan adalah Slackware 12.

Lets Hacking !

NewKernel

Submitted by michael on Sat, 01/12/2007 - 19:27

Install kernel terbaru dari http://kernel.org

Oke ! Manusia tidak pernah puas :) Jika komputer Anda tidak untuk kerjaan mendesak, saatnya beraksi. Contoh kernel yang saya gunakan adalah 2.6.23.9. Dari pada menggunakan contoh 2.6.XX.XX lebih baik real saja :) .

Perhatian ! Bahasan ini berbeda dengan instalasi kernel pada Slackware-Current. Instalasi kernel disini berbasis Slackware-stable. Dalam kasus ini Slackware 12. Jadi bisa saja Anda mempunyai Slackware 10 stable dan berniat ingin menggunakan kernel terbaru dari http://kernel.org.

Ayo download kernel terbaru di http://kernel.org. Saat ini saya donwload kernel 2.6.23.9. Cara paling praktis menggunakan wget

$ wget -c MirorKernelyangdiPilih ------$ wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.9.tar.bz2

Besar source kernel 2.6.23.9 adalah 43 MB.

Parameter -c setelah wget berfungsi 'Continue'. Maksudnya, bila saat download tiba2 koneksi putus,Anda dapat melanjutkan download dikemudian waktu tanpa memulai dari awal.

Setelah selesai download, letakkan file tersebut di /usr/src kemudian unpack. Letak direktory ini sebenarnya bisa dimana saja. Tapi biar rapi, ikut standar saja.

Lebih awal jadi root :) kemudian masuk ke direktory /usr/src

#bzip2 -dc linux-2.6.23.9 | tar xvf -

Proses ekstraksi akan berjalan beberapa detik. Setelah itu masuk ke direktory linux-2.6.23.9

#cd linux-2.6.23.9

Ingin melihat lebih awal ?

#make menuconfig

Anda telah melihat tampilan awal menu kernel :) Ingin jalan2 lebih dulu ? Silahkan.

Page 11: kernel linux

Stop disini --------------------------

Berapa cangkir kopi yang ingin Anda habiskan ?

satu cangkir kopi saja dech !

Baiklah, ada ratusan konfigurasi kernel. Anda dapat memulai dari konfigurasi kernel yang sudah jalan dan sudah ada sebelumnya. Oke, saya punya konfigurasi dari kernel 2.6.21.5.------------------------------Kopikan konfigurasi kernel lama Anda ke /usr/src/linux-2.6.23.9. Konfigurasi kernel Anda berada di /boot/config Jika Anda menggunakan kernel standar 2.6.21.5 , maka kopikan file config-generic-smp-2.6.21.5-smp atau config-huge-smp-2.6.21.5-smp ke /usr/src/linux-2.6.23.9 dengan nama .config------------------------------Kemudian lakukan #make oldconfig !------------------------------

Anda akan ditanya puluhan pertanyaan mulai dari tambahan modul sampai beragam fasilitas baru. Pilihan Anda hanya 3 : N, Y, atau M.

Resiko satu cangkir kopi tidak besar, jika Anda menjawab N semua, atau Y semua, atau M semua. Mengapa borongan ? Karena Anda dan saya tidak mengerti maksudnya ! Hehehe Bercanda.

Karena basis konfigurasi kernel lama Anda (yang terbukti jalan) sudah ada, maka resiko berhasil lebih besar dibanding Anda memulai dari awal. Saya tidak mengatakan cara demikian akan 100% jalan, tapi Anda sudah menempuh separuh jalan dengan melakukan #make oldconfig.

Sekarang lakukan kompilasi kernel. #make Install Modul. #make modules_install Buat Mkinitrd - Lihat bagian FInishing http://slackerbox.com/?q=node/95

Lha ! Kopi Anda sudah habis khan ?

Tiga cangkir kopi saja dech !

Anda benar2 seorang hacker sejati ! Memulai dari awal adalah kewajiban. Lha trus kenapa saya melanjutkan bagian ini ? Hehehe

---------

Christin di kantor Yayasan telah membantu saya menyelesaikan laporan belanja. Jadi saya bisa mengerjakan bagian ini dengan lega. Thanks to Christin. :)

Patch

Submitted by michael on Sat, 01/12/2007 - 19:28

Patch Kernel !

Perlu diketahui, Slackware punya kebijakan 'No Kernel Patch ' yang berarti Kernel yang digunakan default dari http://kernel.org

Hal ini merupakan keuntungan :) Siapa saja bisa memulai 'ngoprek' Kernel tanpa dihantui ketergantungan Patch dari vendor atau distro. Saya beri contoh sederhana, semisal distro 'ChickenHack' melakukan patch Bootsplash pada kernel, agar saat boot muncul grafik cantik mempesona.

Page 12: kernel linux

Bersyukur kalau Anda tahu, bahwa patch kernel satu ini tergolong asesories. Tapi jika developer 'ChickenHack' melakukan patch gila2an pada kernel, Anda tidak akan tahu, apakah kernel original Anda akan benar2 jalan karena ANda mengabaikan satu atau dua patch vital dari developer 'ChickenHack'. Bingo ! Anda tergantung pada patch kernel distro !

Langsung saja :)

Ada beberapa istilah patch dalam prakteknya :

Patch kernel biasa untuk upgrade ke versi kernel lebih tinggi Patch kernel untuk fungsi khusus, semisal keamanan dan asesories Patch kernel bebas

Patch kernel biasa dilakukan jika Anda ingin upgrade kernel ke versi kernel lebih tinggi tanpa harus mendownload 'semua' source code dari awal. Misal dari kernel 2.6.23 ke kernel 2.6.23.9. Jalan yang mudah dan boros adalah mendownload source code 2.6.23.9. Jika lewat pacth, maka hanya source patch saja yang diperlukan. Biasanya patch berukuran kecil.

Patch kernel untuk fungsi khusus semisal masalah keamanan buffer overflow, atau yang sederhana buat tambah option bootsplash pada kernel.

Patch bebas, berarti Anda membuat patch kernel sendiri untuk diri Anda dengan fungsi sesuai keinginan Anda. Hehehe

Patch yang dilakukan para distro biasanya masuk kategory kedua dan ketiga.---------------------------------------Upgrade & Downgrade kernel lewat patch

Browse http://kernel.org tepatnya http://www.kernel.org/pub/linux/kernel/v2.6/

Contoh -3: Upgrade dari 2.6.21.5 ke 2.6.21.7

Download patch-2.6.21.5 Download patch-2.6.21.7 Unpack kedua patch tersebut dan letakkan dimana boleh dech ! :) Jadi root, Masuk kedirektory /usr/src/linux-2.6.21.5 #patch -p1 -R < /path/to/patch-2.6.21.5 #patch -p1 < /path/to/patch-2.6.21.7 #mv linux-2.6.21.5 linux-2.6.21.7 Edit symlink 'linux' agar mengarah ke direktory kernel baru Oke dech, dah jadi ! Lihat di Dokumentasi kernel - Applying-patches.txt ;)

Contoh -2: Upgrade dari 2.6.21.5 ke 2.6.23.9

Download patch-2.6.21.5 Download patch-2.6.22 Download patch-2.6.23 Download patch-2.6.23.9 Unpack semua patch diatas Masuk ke /usr/src/linux-2.6.21.5 Sebagai root #patch -p1 -R < /path/to/patch-2.6.21.5 #patch -p1 < /path/to/patch-2.6.22 #patch -p1 < /path/to/patch-2.6.23 #patch -p1 < /path/to/patch-2.6.23.9 #mv linux-2.6.21.5 linux-2.6.23.9 Benarkan symlink Linux agar mengarah ke linux-2.6.23.9 Hehehe ini khan latihan yang bagus mengenai patch bukan !!! Sudah tahu, apa fungsi -R ???

Page 13: kernel linux

Contoh -1: Upgrade dari 2.6.23.9 ke 2.6.24.rc4

Download patch-2.6.23.9 + patch-2.6.24-rc4, kemudian unpack Jadi root #patch -p1 -R < /path/to/patch-2.6.23.9 #patch -p1 < /path/to/patch-2.6.24-rc4 #mv linux-2.6.23.9 linux-2.6.24-rc4 Betulkan symlink agar mengarah ke linux-2.6.24-rc4

Contoh -0: Downgrade dari 2.6.24-rc4 ke 2.6.21.5

Download patch-2.6.24-rc4 Download patch-2.6.23 Download patch-2.6.22 Download patch-2.6.21.5 Unpack semua patch tersebut Jangan lupa jadi root :) #patch -p1 -R < /path/to/patch-2.6.24-rc4 Oke ! kernel Anda sudah jadi 2.6.23 :) #patch -p1 -R < /path/to/patch-2.6.23 Lha ! kernel Anda sekarang 2.6.22 #patch -p1 -R < /path/to/patch-2.6.22 Oops ! kernel Anda sekarang sudah 2.6.21 ! Siap buat tembakan terakhir ?? #patch -p1 < /path/to/patch-2.6.21.5 Jangan lupa merubah nama direktory kernel + edit symlink Selamat ! Kernel Anda sekarang sudah 2.6.21.5 !

Keterangan seorang slacker :) :

Lihat lompatan 'kodok' yang dilakukan :) ------------------------------------- Lompatan maju dari 2.6.21 ke 2.6.22 langsung saja ! (-p1) Lompatan maju dari 2.6.22 ke 2.6.23 juga langsung saja. (-p1) Kalau dari 2.6.21 ke 2.6.23 musti melompat dua kali :) Ke 2.6.22 dulu baru ke 2.6.23 Lompatan mundur dari 2.6.22 ke 2.6.21 langsung saja (-p1 -R) Ada tanda -R Lompatan mundur dari 2.6.23 ke 2.6.21 musti dua kali. Mundur ke 2.6.22 baru ke 2.6.21 -------Oke, sekarang yang ada 'branch' nya Lompatan maju dari 2.6.21.5 ke 2.6.21.7 Anda musti revert (-p1 -R) 2.6.21.5 ke 2.6.21 dulu.

Baru bisa dipatch dengan 2.6.21.7.(-p1 ) Lompatan maju dari 2.6.21.5 ke 2.6.22.14 berarti mulai dari 2.6.21 (melakukan -p1 -R pada

2.6.21.5 agar jadi 2.6.21), kemudian ke 2.6.22 (-p1), baru ke 2.6.22.14 (-p1) Lompatan maju dari 2.6.23.9 ke 2.6.24-rc4 berarti Anda revert (-p1 -R) 2.6.23.9 agar jadi

2.6.23, kemudian ke 2.6.24-rc4 (-p1). Agar tidak bingung, rc (release candidat)2.6.24-rc4 adalah calon 2.6.24

Terakhir :) Dari 2.6.24-rc4 ke 2.6.24 . Revert dulu (-p1 -R) 2.6.24-rc4 agar jadi 2.6.23, (Hati2, 2.6.24-rc4 direvert jadi 2.6.23 lho ! ) kemudian melakukan lompatan 'kodok' ke 2.6.24 (-p1) :)

Paling enak di coba langsung :) Sekali paham, ....betapa nikmat rasanya bermain2 kernel di Slackware :)

Jika ingin menguji perpindahan source kernel, jalankan saja #make menuconfig Nanti akan muncul versi kernel Anda.

Jika Anda melakukan dengan benar, Anda sudah ganti 'pacar' bolak-balik !

Tentu setelah mantap dengan 'pacar baru' Anda, jangan lupa untuk melakukan konfigurasi kernel, plus kompilasi ! Bagian ini hanya membahas masalah patch kernel saja. Paling tidak Anda sudah

Page 14: kernel linux

punya modal untuk upgrade/downgrade source code kernel lewat cara patch.

Dokumentasi terbaik mengenai hal ini ada di direktory kernel (bagian dokumentasi) berjudul applying-patches.txt.Oke ! Sekarang Anda sudah jadi Hacker Kernel ! Traktir saya secangkir kopi please... :P

extra patch

Submitted by michael on Sat, 08/12/2007 - 09:01

Bagian ini khusus buat extra patch. Jika Anda menginginkan patch kernel selain soal upgrade :P

Ada puluhan patch populer buat kernel :) Cari saja lewat google :P (kadang seorang guru yang malas ya seperti ini ngomongnya didepan kelas Hehehe).

Bagian ini fokus ke patching saja. Jadi bagaimana caranya nge-patch bootsplash pada kernel misalnya. Masalah menjalankan bootsplash secara keseluruhan perlu Anda baca sendiri di manualnya.

Contoh 1: Bootsplash Patch 2.6.21

Bootsplash is a suite of tools and a kernel patch for display fullscreen images during the linux boot process.---------Kumpulan tool dan Patch kernel buat tampilkan gambar saat boot.

root@stansa:/usr/src/linux-2.6.21.5# patch -p1 < bootsplash-3.1.6-2.6.21.diffpatching file drivers/char/keyboard.cpatching file drivers/char/n_tty.cHunk #1 succeeded at 1297 (offset 1 line).patching file drivers/char/vt.c.... saya potongpatching file include/linux/console_struct.hpatching file include/linux/fb.hroot@stansa:/usr/src/linux-2.6.21.5# Oke, kata kuncinya adalah :

root@stansa:/usr/src/linux-2.6.21.5# patch -p1 < bootsplash-3.1.6-2.6.21.diff

Berarti saya musti mencari patch yang sesuai dengan versi kernel saya (2.6.21.5).Dalam hal ini bootsplash-3.1.6-2.6.21.diff

Apa itu -p1 Lihat di $man patch Hehehe

Setelah melakukan patching , maka tampilan menu kernel seperti ini :

Page 15: kernel linux

patch bootsplash

Sekarang sudah terdapat opsi pada menu kernel untuk mengaktifkan bootsplash.

Contoh 2 : Linux-Vserver

Lihat di http://linux-vserver.org/--------------------------Linux-VServer provides virtualization for GNU/Linux systems. This is accomplished by kernel level isolation. It allows to run multiple virtual units at once.---------Linux-Vserver menyediakan system virtualisasi pada GNU/Linux. Hal ini diwujudkan dengan isolasi level oleh kernel. Plus mengijinkan menjalankan banyak unit virtual sekali jalan.---------------------------Ternyata kernel pilihan tertinggi = 2.6.22.14. Sedang kernel saya sekarang 2.6.21.5. Oke, saya upgrade kernel ke 2.6.22.14. Sudah tahu caranya khan ?

Ada 2 patch pillihan yang diperlukan. Vs2.2.0.5 (patch-2.6.22.10-vs2.2.0.5.diff ) Jika hanya ingin patch vserver saja. vs2.2.0.5-grsec2.1.11 (patch-2.6.22.12-vs2.2.0.5-grsec2.1.11-20071106.diff) Jika ingin patch vserver + grsecurity. Pilih salah satu saja kawan :)

Saya pilih patch vserver + grsecurity :)

root@stansa:/usr/src/linux-2.6.22.14# patch -p1 < patch-2.6.22.12-vs2.2.0.5-grsec2.1.11-20071106.diff

Sudah selesai. Sekarang opsi vserver dan grsec sudah muncul di menu kernel saya.

Page 16: kernel linux

vserver

grsec

Sekarang tinggal melakukan konfigurasi kernel yang sudah di patch, trus kompilasi, dan terakhir install kernel.

Contoh 3: ..........Contoh 4 : ...........Contoh 5 : ...........

Keliru 'nge-patch'

---------------Lagi asyik2 'nge-patch' kernel, tiba2 anak tetangga sebelah yang badung siap2 naik pohon mangga rumah Anda.(mangga yang sudah digadang2 buat pacar). Anda mengeluarkan sumpah serapah. :P ---------------Semestinya ingin coba patch sipdech.diff tapi sudah terlanjur mengetik rasainlo.diff plus ENTER

#patch -p1 < rasainlo.diff

Untuk mengembalikan, cukup lakukan lagi dengan tambahan -R.

#patch -p1 -R < rasainlo.diff

Sekarang sudah siap buat patch sesungguhnya.

Page 17: kernel linux

#patch -p1 < sipdech.diff

---------------Anda ini gimana sich ? Lha wong pacar Anda maniak sama buah salak, kok di kasih mangga ? Hehehe -just kidding.

Bersambung...

‹ Patch up

UsingGRUB

Submitted by michael on Sat, 01/12/2007 - 19:29

Tulisan ini saya ambil dari blognya AMad http://makassar-slackers.org/Grub+di+Slackware . Dari pada saya membuat redundant, lebih baik mereview :) Yang istimewa, ini adalah blog pertama dari situs mereka :) -Michael

15 Menit bersama Grub (GRand Unified Bootloader)

"Siang-siang begini, Selesai minum kopi dan sekarang makan "Chunky Milk Chocolate".Koneksi internet lagi kurang bagus untuk browsing ke internet. Akhirnya browse isi harddisk sendiri :D.Sambil browsing dapat file ini "grub-0.97-i486-2.tgz" di folder SlackSoft home direktoriku.muncul pikiran iseng ... """"install grub di slackware"""" .. :D"

Secara default, boot loader di slackware adalah Lilo. Tapi Jika ingin boot loader dengan nuansa yang berbeda silahkan coba "grub". Kenapa pakai grub?, hehehe jawaban ada dikalimat sebelumnya. =))

untuk proses instalasinya cukup mudah, karena kebetulan paket instalasinya adalah .tgz dari linuxpackagesCuma beberapa terminologi yang mungkin agak beda dengan lilo adalah mapping device-nya.misalnya,-----------hda1 di grub dikenal sebagai hd0.0-----------hda2 di grub dikenal sebagai hd0.1

berikut cara instalasinya :--------------------------------------------

#installpkg grub-0.97-i486-2.tgzBuat atau Edit menu.lst (ada di /boot/grub)#grub-install /dev/hda

--------------------------------------------

sedikit tips sebelum mengeksekusi 'grub-install /dev/hda',Perhatikan entry di file '/boot/grub/device.map' (kalau ada). Jika didalam file tersebut terdapat entry device yg tidak diinginkan, hapus saja, karena kemungkinan akan memperpanjang proses install grub-nya.

untuk file konfigurasi (menu.lst dan device.map), silahkan lihat contoh file dibagian akhir tulisan ini silahkan disesuaikan. Untuk contoh yang lebih detail lihat di /boot/grub/menu.lst.sample

reboot komputer untuk lihat hasilnya ...

Page 18: kernel linux

Catatan dan kesimpulan : Untuk yang sering mengutak-atik boot loader, mungkin grub bisa menjadi pilihan alternatif.karena jika terjadi perubahan di file konfigurasinya (/boot/grub/menu.lst),grub tidak perlu di install atau di eksekusi lagi. Tapi secara otomatis grub akan membaca file konfigurasi yang telah diubah.sedangkan Jika menggunakan Lilo sebagai boot loader tiap melakukan perubahan di '/etc/lilo.conf' mesti jalankan'lilo' lagi untuk me-load file konfigurasi ke boot loader.

###Dump###isi menu.lst dikomputerku-------------------------------------------

bash-3.1$ cat /boot/grub/menu.lstsplashimage (hd0,2)/boot/grub/slack_nalug.xpm.gzshade 1timeout 5default 0

title Slackwarekernel (hd0,2)/boot/vmlinuz vga=0x318 root=/dev/hda3 ro

title Slackware Kernel Testkernel (hd0,2)/boot/26 vga=0x318 root=/dev/hda3 ro

title Windowsroot (hd0,0)makeactivechainloader +1-------------------------------------------

isi device.map dikomputerku-------------------------------------------(hd0) /dev/hda -------------------------------------------

keterangan tambahan, untuk memperjelas isi dari menu.lst.map partisi :/dev/hda1 = saya pakai untuk windows/dev/hda3 = saya pakai untuk linux

=======================Makassar, 210507AMadamad(at)makassar-slackers.org

=======================Review Slackware 12 :

Pada paket extra Slackware 12, setelah instalasi belum ada tambahan menu.lst ataupun direktory /boot/grub. Jadi file konfigurasi musti dibuat manual ;)Saya pikir paket extra Grub slackware 12 lebih diarahkan ke tool grubconfig ala lilo :)

Saya menambahkan bagian tool grubconfig (simple/expert) untuk konfigurasi GRUB. Jadi 2 pilihan bagi user: Edit manual file konfigurasi atau lewat grubconfig. Keduanya sama2 Tokcer ! :P

Page 19: kernel linux

Karena grubconfig merupakan tool tambahan (bukan bawaan dari Grub) agar user dapat melakukan konfigurasi grub ala lilo, tetap yang terbaik... edit langsung menu.lst Anda :)

Banyak fasilitas lain di Grub seperti pemberian password, tampilin image background ...silahkan baca lebih lanjut manual Grub.

grubconfig-expert

Submitted by michael on Mon, 10/12/2007 - 20:37

GrubConfig-Expert under devel........

Sebelum memulai, mungkin Anda ingin melihat grubconfig-simple lebih dulu ? Spesifikasi yang digunakan sama dengan contoh grubconfig-simple.

Karena mode Expert, saya langsung ajadech point2nya :) Upload gambar ternyata buat sengsara ! Hehehe

Begin

Frame Buffer Console - Standart ? Grub target Location - MBR ? Grub Partition - /dev/sda1

Linux

Posible Linux Partition - /dev/sda1 Partition Name - Slackware 12 Kernel Location - /boot/vmlinuz Kernel Option - Nothing todo Initrd Found - Yes ! ------Creating Menu.lst

Other

Possible DOS/WIN/OS2/BSD/etc - kosong atau /dev/sda3 ?

Install

Installing GRUB bootloader...............Grub was succesfully instaled on the MBR of /dev/sda

Silahkan dicoba2 sendiri :)

Ini hasil menu.lst :

# GRUB configuration file '/boot/grub/menu.lst'.# generated by 'grubconfig'. Tue Dec 11 21:25:29 2007## The backup copy of the MBR for drive '/dev/sda' is# here '/boot/grub/mbr.sda.11922'. You can restore it like this.# dd if=mbr.sda.11922 of=/dev/sda bs=512 count=1## Start GRUB global section#timeout 30#color light-gray/blue black/light-gray

Page 20: kernel linux

# End GRUB global section# Linux bootable partition config beginstitle Slackware12 on (/dev/sda1)root (hd0,0)kernel /boot/vmlinuz root=/dev/sda1 ro vga=normal# Linux bootable partition config ends# Linux bootable initrd config beginstitle Linux initrd /boot/initrd.gz on (/dev/sda1)root (hd0,0)kernel /boot/vmlinuz root=/dev/sda1 ramdisk_size=1001 root=/dev/ram0$initrd /boot/initrd.gz# Linux bootable initrd config endstitle --- For help press 'c', type: 'help'root (hd0)title --- For usage examples, type: 'cat /boot/grub/grub.txt'root (hd0)

Sedikit Hacking :) Karena hanya ingin Slackware saja (initrd.gz)Jadi isinya seperti ini :

title Linux Slackware (/dev/sda1)root (hd0,0)kernel /boot/vmlinuz root=/dev/sda1 ramdisk_size=1001 root=/dev/ram0$initrd /boot/initrd.gz

Jadi dech :)

Kesimpulan :

Meskipun mode expert, Grub masih menyisakan pilihan yang gagal dalam kasus saya :) Kecuali saya memasukkan pada pilihan 'Option' untuk initrd.gz.

Yang terbaik, lakukan sedikit modifikasi langsung pada menu.lst.

grubconfig-simple

Submitted by michael on Mon, 10/12/2007 - 20:36

GrubConfig-Simple

Sebelum memulai, jangan lupa install paket GRUB. :) Cari di bagian Extra CD Slackware Anda.

#installpkg grub-0.97-i486-3.tgz

Maka program GRUB + tool grubconfig sudah bersarang di hardisk :)

System ujicoba sebagai berikut :

Slackware 12. HP Pavilion tx1000, AMD Turion64 X2. Default lilo sebelumnya. Hardisk SATA, tiga partisi. sda1 & sda2 Slackware, sedang sda3 FreeBSD. Kernel 2.6.21.5 generic smp. (Jadi ada initrd.gz)

Page 21: kernel linux

Jalankan grubconfig ;

#grubconfig

Oke, pilih simple :)

grubconfig1

Pilih resolusi monitor. Atau pilih standart untuk amannya.

grubconfig2

Pilih partisi. GRUB otomatis menawarkan /dev/sda1 (dalam kasus ini)

grubconfig3

Page 22: kernel linux

Ingin install di MBR ? GRUB Jadi penguasa semuanya.

grubconfig4

Oke ! Proses pembuatan menu.lst berlangsung.

grubconfig5

Semoga Anda berhasil :)

grubconfig6

Heem, saya telah membuat Anda bahagia dengan 6 gambar yang musti saya upload satu persatu :)

Isi /boot/grub/menu.lst

# Ini Masih Asli dari Pabriknya :)## GRUB configuration file '/boot/grub/menu.lst'.# generated by 'grubconfig'. Mon Dec 10 21:37:05 2007## The backup copy of the MBR for drive '/dev/sda' is# here '/boot/grub/mbr.sda.7858'. You can restore it like this.# dd if=mbr.sda.7858 of=/dev/sda bs=512 count=1## Start GRUB global section#timeout 30#color light-gray/blue black/light-gray# End GRUB global section# Linux bootable partition config beginstitle Linux on (/dev/sda1)root (hd0,0)kernel /boot/vmlinuz root=/dev/sda1 ro vga=773# Linux bootable partition config ends# Linux bootable partition config beginstitle Linux on (/dev/sda2)

Page 23: kernel linux

root (hd0,1)kernel /boot/vmlinuz root=/dev/sda2 ro vga=773# Linux bootable partition config ends# Other bootable partition config beginstitle FreeBSD on (/dev/sda3)root (hd0,2,a)kernel /boot/loader# Other bootable partition config ends# Linux bootable initrd config beginstitle Linux initrd /boot/initrd.gz on (/dev/sda1)root (hd0,0)kernel /boot/vmlinuz root=/dev/sda1 ramdisk_size=1001 root=/dev/ram0$initrd /boot/initrd.gz# Linux bootable initrd config endstitle --- For help press 'c', type: 'help'root (hd0)title --- For usage examples, type: 'cat /boot/grub/grub.txt'root (hd0)

Restart Komputer Anda !------------------------Saya menemukan 4 option Pada GRUB (dalam kasus saya) :

Linux On sda1 Linux On sda2 FreeBSD on sda3 Linux initrd.gz On sda1

Pilih Linux On sda1, kernel panic ! HehehePilih Linux initrd.gz baru jalan normal.

-----------------------Sekarang sedikit saya oprek isi menu.lst !

Cuma ingin Slackware aja dech !

timeout 2title Linux Slackware 12root (hd0,0)kernel /boot/vmlinuz root=/dev/sda1 ramdisk_size=1001 root=/dev/ram0$initrd /boot/initrd.gz

Grub mengijinkan mengedit langsung pada menu.lst tanpa melalui atau di akhiri prosedur lain. (pada lilo Anda musti menjalankan /sbin/lilo ).