The truth of a theory is in your mind, not in your eyes.

Linux Remastering Basic

1. Intro

Perkembangan linux (baca:kernel linux) yang demikian pesat membutuhkan sedikit perhatian bagi para penggiatnya. Hal yang paling dasar adalah mengetahui bagaimana cara kerja dan alur dari linux itu sendiri. Tanpa banyak basa-basi, artikel ini akan membahas alur kerja secara mendalam dari linux kernel itu sendiri. Karena pembahasan yang sangat luas, maka artikel ini akan dibagi menjadi beberapa bagian. Untuk pengenalan awal, saya akan memberi tutorial singkat mengenai cara recompile dari kernel linux. Here we go...

2. Ubuntu Kernel Recompile ( Quick & Dirty Tutorial )

Ini hanyalah contoh sederhana bagaimana cara melakukan recompile terhadap kernel linux. Contoh ini dilakukan diatas mesin Ubuntu ( the most popular linux distro[1]). Tentu caranya sedikit berbeda ketika anda melakukannya pada jenis distro yang lain.

2.1. Link sh to bash

Pada dasarnya shell sh yang dipakai oleh ubuntu itu melakukan symbolic link terhadap dash.

ubuntu$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 2009-03-17 11:53 /bin/sh -> dash

Pada beberapa kasus shell dash tersebut memiliki masalah ketika melakukan compilasi terhadap kernel. Untuk mengatasinya lakukan symbolic link dari shell sh ke bash.

ubuntu$sudo rm -f /bin/sh
ubuntu$sudo ln -s /bin/bash /bin/sh

2.2. Install all kernel recompile software needed

Install semua aplikasi yang dibutuhkan untuk melakukan recompile kernel

ubuntu$sudo apt-get install kernel-package libncurses5-dev fakeroot wget bzip2

2.3. Get your kernel source

Donwload source code linux kernel dari www.kernel.org. Pada contoh ini saya mengambil source code versi 2.6.29

ubuntu$cd /usr/src
ubuntu$wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.tar.bz2

2.4. unpack the kernel package

ubuntu$tar xjf linux-2.6.29.tar.bz2
ubuntu$ln -s linux-2.6.29 linux

2.5. Patch if thats available

Lakukan patch terhadap source code jika terdapat perbaikan terhadap bug yang ada.

ubuntu$wget http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.29.bz2
ubuntu$cd /usr/src/linux
ubuntu$sudo bzip2 -dc /usr/src/patch-2.6.29.bz2 | patch -p1 --dry-run
ubuntu$sudo bzip2 -dc /usr/src/patch-2.6.29.bz2 | patch -p1

2.6. Make your current kernel configurations as your new kernel config

ubuntu$sudo cp /boot/config-`uname -r` ./.config

2.7. Hacking the kernel configurations

ubuntu$sudo make menuconfig

2.8. Build the kernel

Pada tahap ini, kita melakukan membuild ulang kernel image berdasarkan configurasi yang telah kita buat sebelumnya.

ubuntu$sudo make-kpkg clean
ubuntu$sudo fakeroot make-kpkg --initrd --append-to-version=-logcode kernel_image \
kernel_headers 

2.9. install your f*ck*ng kernel

ubuntu$cd /usr/src 
ubuntu$sudo dpkg -i \ 
linux-headers-2.6.29-logcode_2.6.29-logcode-10.00.Custom_i386.deb 
ubuntu#sudo dpkg -i \ 
linux-image-2.6.29-logcode_2.6.29-logcode-10.00.Custom_i386.deb

2.10. reboot you box and check your new kernel

ubuntu$ uname -a
Linux Byteskrew 2.6.29-logcode #1 SMP Thu Jun 4 15:37:39 SGT 2009 i686 GNU/Linux

if there any fails, its your stupidity and patch your brain first...!!!

Link &  Referensi

1. http://distrowatch.com/
2. Google.com

Best Documentations:: /usr/src/linux/README
o0o LogCode Documentations o0o

Your rating: None Average: 1.1 (65 votes)