Cara Copile Kernel DI UBUNTU by Achmad Yasher Ramdhani

http://afrizal.byethost13.com/2009/07/compile-kernel-di-ubuntu-904/

Cara Compile Kernel di Ubuntu 9.10


Pertama masuk super user pada console :

#sudo su

kemudian masukan pasword user anda.

1.update kernel anda dengan perintah :

#sudo apt-get update


Set supaya /bin/sh menjadi /bin/bash jika di perlukan

# rm -f /bin/sh

# ln -s /bin/bash /bin/sh

2. Ok pertama kali anda siapkan dulu paket-paket yang dibutuhkan:

#apt-get install kernel-package libncurses5-dev build-essential fakeroot

Copy source code kernel

# cd /usr/src

Terus ambil deh kernel linux yang mau di compile. Bisa aja sih ambil dari paketnya Ubuntu, tapi saya lebih suka ambil langsung dari kernel.org :

#wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.2.tar.bz2

Anda bisa saja mengambil dari mirror lokal (kambing & komo), tapi kalau anda adalah orang yang nggak sabaran seperti saya, mending langsung ambil dari www.kernel.org karna kedua mirror tersebut suka rada lama updatenya.

Kemudian extract source kernel tersebut:

# tar -jxf linux-2.6.33.2.tar.bz2

# ln -s linux-2.6.30.1 linux

Compile kernel 2.6 di Linux

# cd /usr/src/linux

kemudian masuk ke folder hasil extraknya :
# cd linux-2.6.33.2

kemudian copy file boot yang tadi kita extrak :

# cp /boot/config-......... ./.config

contoh :

# cp /boot/config-2.6.31-20-generic ./.config

Langkah cp /boot/config* dibutuhkan jika kita ingin konfigurasi kernel yang digunakan sama dengan konfigurasi kernel dari system operasi yang sedang kita gunakan. Kita dapat meloncati hal ini dan langsung ke make menuconfig.Langkah cp /boot/config* dibutuhkan jika kita ingin konfigurasi kernel yang digunakan sama dengan konfigurasi kernel dari system operasi yang sedang kita gunakan. Kita dapat meloncati hal ini dan langsung ke make menuconfig.

Setelah itu jalankan perintah berikut untuk menyesuaikan konfigurasi yang lama dengan konfigurasi yang baru, karna di kernel baru biasanya ada tambahan modul-modul baru.

$ make oldconfig

Setelah itu akan ditanya modul-modul yang baru, untuk amannya sih tekan saja enter terus kecuali mau lihatin satu-satu, lumayan panjang bok…

Nah kalau sudah selesai, baru deh kita utak atik konfigurasinya:

#make menuconfig



Pilih load alternate configuration file untuk meload file konfigurasi yang kita copy sebelumnya


Setelah itu keluar dari menuconfig dan simpan konfigurasi kernel barunya


# make-kpkg clean

Mungkin akan lebih mudah untuk memaksa compile semua code melalui perintah

# make all

Langkah selanjutnya adalah mengkopile kernel baru yang sudah kita konfigurasi

# fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

Penjelasan perintah :


*fakeroot untuk menjalankan suatu perintah dengan berpura-pura sebagai root, karena perintah make-kpkg harus dijalankan dalam mode super user, tapi bisa kita tipu sama fakeroot he he he
*make-kpkg untuk membuat paket kernel dari source kernel linux

*initrd adalah switch untuk membuat file initrd.img

*bzimage adalah switch untuk membuat kernel yang terkompresi dengan bzip2

*kernel_image adalah perintah untuk make-kpkg supaya membuat image kernel

Setelah proses kompilasi kernel berhasil akan menghasilkan 2 file .deb pada /usr/src

linux-headers-2.6.33.2-custom_2.6.33.2-custom-10.00.Custom_i386.deb

linux-image-2.6.33.2-custom_2.6.33.2-custom-10.00.cCstom_i386.deb

Install 2 paket tersebut

dpkg –I linux-headers-2.6.30.10-custom_2.6.30.10-custom-10.00.Custom_i386.deb

dpkg –I linux-image-2.6.30.10-custom_2.6.30.10-custom-10.00.cCstom_i386.deb

Ubah GRUB untuk menambahkan menu untuk booting

# gedit /boot/grub/menu.lst

Pastikan ada menu untuk booting dari kernel yang baru seperti contoh dibawah ini ( samakan uuid dengan UUID kernel yang lama)

title Ubuntu 9.04, kernel 2.6.30.1-custom

uuid d0a32d6c-3176-4b92-8cac-6e75acc4348a

kernel /boot/vmlinuz-2.6.29.2-custom root=UUID=d0a32d6c-3176-4b92-8cac-6e75acc4348a ro quiet splash

initrd /boot/initrd.img-2.6.29.2-custom

quiet

title Ubuntu 9.04, kernel 2.6.29.2-custom (recovery mode)

uuid d0a32d6c-3176-4b92-8cac-6e75acc4348a

kernel /boot/vmlinuz-2.6.30.1-custom root=UUID=d0a32d6c-3176-4b92-8cac-6e75acc4348a ro single

initrd /boot/initrd.img-2.6.30.1-custom

Shutdown dan Reboot komputer

# shutdown -r now

Setelah reboot & masuk lagi ke shell lakukan ..

# uname -r

selesai deh……