Wednesday, June 16, 2010

Compile Kernel Di Ubuntu 10.04

Dear Ubuntuers, udah lama kagak posting-posting neh :P kali ini saya akan share cara Compile Kernel di Ubuntu 10.04. awalnya sich saya cuma coba-coba aja Compile Kernel. soalnya Kompi ane ke detek semua Hardwarenya. tapi mungkin ada sebagian temen-temen yang punya masalah dengan ubuntunya yang engga bisa detek salah satu hardware kompi or laptopnya. berikut hasil kutipan di situs www.ubuntu-indonesia.com yang ditulis oleh Rh354.



kadang ada beberapa masalah di Ubuntu yang hanya bisa diselesaikan dengan kernel yang lebih baru

contoh di axioo centaur series gw yaitu bug di intel 855GM pada saat sebelum installasi maupun mo masuk Ubuntu lucid setelah instalasi Ubuntu selesai

emang bisa dengan menambahkan i915.modeset=1 ketika booting, tp lagi2 terdapat kendala pada saat menyetel video..alternatif lainnya yaitu memakai xorg, namun efek compiz menjadi hilang n plymouth jadi besar sekali laugh..karena hal inilah makanya gw memutuskan compile kernel dengan mengandalkan otak gw yg pas2an ini

NOTE:

* Jadikan upgrade kernel melalui compile ini sebagai solusi terakhir apabila setelah semua cara udah dicoba..
* setelah menginstal kernel ini kemungkinan bakalan terdapat bug baru di ubuntu lo ato bahkan sebaliknya..so use at your own risk
* siapin HDD besar ketika mo compile kernel cos pengalaman di gw sampe 5 Gb an..
* impprovement kernel ini silahkan liat dimari



berikut langkah-langkahnya :

install dl compiler yang diperlukan.

Kutip:
sudo apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev wget libncurses5 libncurses5-dev


klo udah sekarang cara mengoptimalkan speed time pada saat compile(ntah ini sugesti ato ga' tp gw udah tes antara compile biasa dengan compile cara ini terdapat perbedaan waktu 2 jam lebih cepet. semalem compile dengan cara ini start dari jam 3 hingga jam 6.51 pagi sedangkan sebelumnya ga' make cara ini pada saat compile start jam 1/2 1 hingga jam 6)

instal dl paket yang diperlukan
Kutip:
sudo apt-get install distcc

lalu jalan kan perintah ini satu persatu

Kutip:
sudo mkdir -p /usr/local/distcc/bin
cd /usr/local/distcc/bin
sudo ln -s /usr/bin/distcc c++
sudo ln -s /usr/bin/distcc cc
sudo ln -s /usr/bin/distcc g++
sudo ln -s /usr/bin/distcc gcc


edit .bashrc di /home
Kutip:

gedit ~/.bashrc


sisipkan tulisan ini
Kutip:

CONCURRENCY_LEVEL=40
DISTCC_HOSTS="localhost"
PATH="/usr/local/distcc/bin:${PATH}"
export CONCURRENCY_LEVEL DISTCC_HOSTS PATH


klo udah persiapannya kita akan masuk ketahap selanjutnya

sekarang masuk ke direktori konfigurasi

Kutip:
cd /usr/src


add user lo ke grup tuk src sehingga bs memodifikasi file yang ada disana

Kutip:
sudo adduser $USER src


login ke shell dengan dengan hak akses yg baru

Kutip:
su $USER


sekarang download kernel terbaru lalu di ekstrak

Kutip:
wget -c http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.tar.bz2 && tar -xvjf linux-2.6.34.tar.bz2


kopi paste initramfs skrip biar bs boot dari kernel nantinya(klo ga' ada folder postrm.d silahkan ditambahkan manual)

Kutip:
sudo cp /usr/share/kernel-package/examples/etc/kernel/postinst.d/initramfs /etc/kernel/postinst.d/
sudo cp /usr/share/kernel-package/examples/etc/kernel/postrm.d/initramfs /etc/kernel/postrm.d/


hilangkan link dari direktori linux,buat link baru ke kernel baru dan pindahkan ke Linux directory

Kutip:
rm -rf linux && ln -s /usr/src/linux-2.6.34 linux && cd /usr/src/linux


Patch kernelnya
Kutip:
bzcat /home/$USER/patch-2.6.34-ck1.bz2| patch -p1

klo udah kita import settingan kernel yang lagi dipake saat ini dan untuk mendapatkan opsi2 kernel kita sekarang
Kutip:

cp /boot/config-$(uname -r) .config && yes "" | make oldconfig


konfigurasi kernel

note :

jika punya device wifi..lo harus mengaktifkan wifinya di kernel. cara termudah adalah tekan Ctrl + F dan cari nama module drivernya.

di terminal ketik ini

Kutip:
make xconfig


klo mau versi terminal

Kutip:
make menuconfig


sedikit tips untuk ningkatin performance buat kernel yang dikompile(opsi2 ini ada yg ga' ada di kernel versi baru jadi silahkan sesuaikan)

Kutip:
di "General Setup" aktifkan:

-Support for paging of anonymous memory (swap)
--Support for prefetching swapped memory

di "Processor type and features":

-Processor family Choose the model of your processor.

aktifkan:

-Preemption Model
--Voluntary Kernel Preemption (Desktop)

-High Memory Support
--off -if you have less than 1 GB of RAM
--1GB Low Memory Support -if you have 1GB of RAM
--4GB -if you have more than 1GB of RAM

-Timer frequency
--1000 Hz

di "Device drivers" silahkan centang ke "Block devices" dan di "IO Schedulers" centang hanya "CFQ I/O scheduler" yang aktif, yang akan memberikan performa terbaik

di "Kernel hacking" ilangin centangan "Kernel debugging".

Ctrl+S buat save konfigurasi kernel tadi dan tutup jendela yg terbuka td.
lama n ribet y...heheheh lom seberapa itu..kelamaan tersebut baru dimulai sebentar lg

di terminal pastikan lo berada di /usr/src/linux (file .deb hasil jadinya akan ada disini nantinya)

Kutip:
make-kpkg clean


klo udah silahkan ikuti ini(proses ini akan memakan waktu yang panjang tergantung kecepatan procie,klo di gw kisaran 4 jam)

Kutip:
INSTALL_MOD_STRIP=1 CONCURRENCY_LEVEL=3 fakeroot make-kpkg --initrd --append-to-version=-custom kernel-image kernel-headers


klo udah selese..seluruh installan .deb file hasil compile ada di /usr/src

seharusnya ada 2 yaitu image .deb dan header .deb file

di terminal lakukan ini
Kutip:
cd .. && sudo dpkg -i linux*2.6.34*.deb


Penting :

jika punya driver ATI ato NVIDIA..lo mesti install ulang driver itu lagi

silahkan reboot klo dah selese install grin


lalu di delete foldernya
Kutip:
sudo rm /usr/src/Linux
sudo rm -R /usr/src/linux-2.6.34



NOTE :

bagi yang ga' mau repot dalam mengkompile dengan cara diatas silahkan memakai kernelcheck

http://www.webupd8.org/2010/04/kernelcheck-fixed-deb-download-ubuntu.html

site kernel check

http://kcheck.sourceforge.net/download.html

Features

1. Fetch latest kernel information (mature kernel, mature kernel patch, stable development prepatch)
2. Download and compile any 2.6 kernel into a .deb package
3. Auto-fix for ALSA sound in new kernels
4. Auto-optimize new kernel
5. Option to configure kernel options manually
6. Option to install the nVidia kernel module/driver on reboot
7. Option to reconfigure the X server
8. Custom kernel patching
9. Multiple CPU jobs for faster compilation



KernelCheck can be used for several purposes:

1. Fixing hardware issues
2. Speeding up your computer with a shiny new kernel
3. Automatically downloading, compiling, and installing the latest kernel



Highlights of Linux Kernel 2.6.34:

· Ceph filesystem;
· LogFS filesystem;
· Fast KVM networking;
· Btrfs improvements;
· Kprobes jump optimization;
· perf improvements;
· RCU lockdep;
· Generalized TTL Security Mechanism;
· Support for private VLAN proxy arp;
· Asynchronous suspend and resume;
· GPU switching;
· Preliminary Radeon Evergreen (Radeon HD 5xxx);
· VMware ballon driver.

Below, we've compiled a list with the latest drivers and newly supported devices introduced in Linux Kernel 2.6.34:


Sound:

· Support for Edirol UA-101;
· Support for Xonar DS;
· Support for Media Vision Jazz16;
· Support for Macbook Air 2,1 internal speaker;
· Support for REdirol UA-1000.

USB:

· autosuspend support;
· removed berry_charge driver;
· removed usb gadget drivers.

Input:

· TWL4030 vibrator driver;
· IMX Keypad Port driver;
· NEXIO (iNexio) support;
· ADP5587 support;
· N64 pads support;
· Mac button emulation;
· Input filters were implemented.

HWMON:

· ADT7411 temperature and voltage sensor driver;
· Andigilog aSC7621 driver;
· Support for iMac9,1 and MacBookPro2,2;
· Winbond/Nuvoton W83L771AWG/ASG support.
Graphics:
· Improved the i915 Intel video driver;
· Improved the Radeon video driver;
· Improved the Nouveau video driver;
· Sandybridge support;
· Color depth 15 and 30 are now supported by viafb.

V4L/DVB:

· Prof 7500 DVB-S2 USB support;
· Telegent tlg2300 driver;
· DVBWorld DVB-S2 PCI 2004D support;
· DigitalNow TinyTwin v2 support;
· Leadtek WinFast DTV2000DS support;
· LEADTEK WinFast PxTV1200 support;
· Dikom DK300 hybrid USB tuner support;
· Sakar 1638x CyberPix support;
· Pinnacle PCTV310e support;
· SAA7706H Car Radio DSP support.

Network:

· Aeroflex Gaisler 10/100/1G Ethernet MAC driver;
· Micrel KSZ8841/2 PCI Ethernet driver;
· SMSC LAN75xx USB gigabit Ethernet adapter driver;
· SuperH IrDA driver;
· Atheros AR8152/AR8152 support.
Kutip:
http://kernelnewbies.org/Linux_2_6_34



yg butuh patch kernel bs sedot dimari

http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.34/

semoga bisa memberikan manfaat

Thanks To:
Rh354 yang udah ngajarin ane ngompile kernel

Sumber:
http://ubuntu-indonesia.com/forums/ubbthreads.php/topics/24217/1/Tutorial_compile_kernel_2_6_34
http://rhesa.itvps.org/node/92