Kompilasi Kernel di Debian v5 (lenny)

Lakukan pengecekan versi dari kernel yang sedang aktif, dengan menggunakan perintah berikut:
uname -a
dan akan memberikan tampilan hasil eksekusi seperti berikut:
Linux hosting 2.6.26-1-686 #1 SMP Sat Jan 10 18:29:31 UTC 2009 i686 GNU/Linux
Instalasi paket yang dibutuhkan:

apt-get install kernel-package zlib1g zlib1g-dev libncurses5-dev fakeroot wget bzip2 build-essential
Persiapkan paket kernel yang akan dikompilasi, untuk versi terbaru dari http://www.kernel.org saat ini telah mencapai versi 2.6.32. silakan mengunduh berkas kernel tersebut, misalkan seperti yang terdapat dalam contoh ini adalah linux-2.6.32.tar.gz ke mesin pengguna.
Kemudian pindahkan berkas tersebut ke direktori /usr/src/ dengan melakukan perintah berikut:
mv linux-2.6.32.tar.gz /usr/src/

selanjutnya berpindah ke direktori /usr/src/ dengan mengetikkan perintah: cd /usr/src/
selanjutnya melakukan ekstraksi paket tersebut dengan melakukan perintah tersebut pada konsol:
tar xvfpz linux-2.6.32.tar.gz
proses ekstraksi berlangsung beberapa saat, dan setelah selesai akan terlihat suatu direktori baru yang bernama linux-2.6.32.
Lakukan perpindahan lokasi ke direktori tersebut dengan mengetikkan perintah: linux-2.6.32
lakukan perintah ls -l untuk melihat isi direktori
selanjutnya, ikuti urutan perintah berikut ini:
make clean && make mrproper
selanjutnya, pengguna perlu melakukan konfigurasi terlebih dahulu terhadap fitur-fitur yang terdapat di dalam kernel versi terbaru. hal ini dilakukan agar pengguna dapat melakukan kostumisasi terhadap kernel yang akan dipasang pada sistemnya serta dapat pula mematikan fungsi-fungsi yang sekiranya tidak diperlukan sehingga kernel yang nantinya berjalan adalah kernel yang efisien dan diketahui fiturnya secara pasti oleh administrator.
satu hal yang perlu diperhatikan, dari beberapa saran yang penulis dapatkan dari berbagai milis, pengguna perlu mematikan fitur-fitur yang masih dilabeli dengan experimental untuk menghindari hole dari sistem, dan hal ini sangat penting dalam sisi sekuritas sistem.
Ketikkan perintah make menuconfig untuk memulai proses konfigurasi, dan akan memunculkan tampilan berikut
Untuk fitur-fitur yang akan diaktifkan, memang tidak ada aturan baku yang ditetapkan, akan tetapi biasanya disesuaikan dengan kebutuhan dari pengguna atau administrator sistem dengan berbagai analisa dan pertimbangan yang dilakukan.
Apabila ingin menggunakan berkas konfigurasi dari versi kernel sebelumnya, pengguna dapat memilih menu Load an alternate configuration file
Dan selanjutnya memasukkan nama berkas konfigurasi yang dituju.
Apabila menggunakan konfigurasi yang baru, selesai memilih fitur-fitur yang akan diaktifkan dalam kernel, maka pilih menu Save configuration to an alternate file
dan akan muncul kotak dialog yang meminta nama berkas untuk menyimpan konfigurasi. secara standar akan langsung menyimpan dengan nama .config.
Selanjutnya memilih tombol exit, dan akan muncul kotak dialog berikutnya yang meminta konfirmasi dari pengguna untuk hasil perubahan konfigurasi yang telah dilakukan.
make-kpkg clean
fakeroot make-kpkg –initrd –append-to-version=-custom kernel_image kernel_headers
(di depan initrd dan append-to-version, diawali dengan pemberian 2x karakter ‘-’. sedangkan variabel ‘-custom’ dapat diganti sesuai keinginan pengguna, misalkan dengan contoh berikut: -111209. perhatikan di depan tanggal terdapat 1x karakter ‘-’)
catatan:
jika terjadi error selama proses kompilasi, baca tutorial ini di bagian akhir, yaitu penanganan ketika terjadi error.
Selesai proses, arahkan lokasi dari konsol ke /usr/src/ dengan mengetikkan perintah cd ..
kemudian akan terlihat bahwa proses kompilasi yang dilakukan sebelumnya telah menciptakan 2 buah file dengan ekstensi .DEB, yaitu linux-image dan linux-headers.
Lakukan proses instalasi dengan menjalankan perintah berikut:
dpkg -i *.deb
Selecting previously deselected package linux-headers-2.6.32-111209.
(Reading database … 33471 files and directories currently installed.)
Unpacking linux-headers-2.6.32-111209 (from linux-headers-2.6.32-111209_2.6.32-111209-10.00.Custom_i386.deb) …
Selecting previously deselected package linux-image-2.6.32-111209.
Unpacking linux-image-2.6.32-111209 (from linux-image-2.6.32-111209_2.6.32-111209-10.00.Custom_i386.deb) …
Done.
Setting up linux-headers-2.6.32-111209 (2.6.32-111209-10.00.Custom) …
Setting up linux-image-2.6.32-111209 (2.6.32-111209-10.00.Custom) …
Running depmod.
Finding valid ramdisk creators.
Using mkinitramfs-kpkg to build the ramdisk.
W: Possible missing firmware /lib/firmware/tigon/tg3_tso5.bin for module tg3
W: Possible missing firmware /lib/firmware/tigon/tg3_tso.bin for module tg3
W: Possible missing firmware /lib/firmware/tigon/tg3.bin for module tg3
Running postinst hook script update-grub.
Searching for GRUB installation directory … found: /boot/grub
Searching for default file … found: /boot/grub/default
Testing for an existing GRUB menu.lst file … found: /boot/grub/menu.lst
Searching for splash image … none found, skipping …
Found kernel: /boot/vmlinuz-2.6.32-111209
Found kernel: /boot/vmlinuz-2.6.26-1-686
Updating /boot/grub/menu.lst … done
grub should automatically add your kernel and make it the default kernel. untuk menggunakan kernel hasil kompilasi terbaru, lakukan perintah reboot
untuk selanjutnya pada menu pilihan ketika sistem akan boot dapat dilihat bahwa kernel yang telah dikompilasi tersebut dapat dipilih oleh user.
Setelah login, pada mesin pengguna dapat melakukan pengecekan versi kernel yang aktif saat ini dengan mengetikkan perintah seperti tahap di bagian awal yaitu: uname -a
hasil eksekusi akan terlihat seperti berikut ini:
Linux hosting 2.6.32-111209 #1 SMP Fri Dec 11 20:36:36 WIT 2009 i686 GNU/Linux
selamat… mesin linux pengguna telah berhasil berjalan di atas pondasi kernel terbaru.
Penanganan ketika terjadi error sewaktu proses kompilasi
Jika error selama proses kompile seperti ini:
….”error: zlib.h: No such file or directory”….
install zlib1g-dev package and make-kpkg again
Jika error selama proses kompile seperti ini:
cc -m32 -Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include -U_FORTIFY_SOURCE lguest.c -o lguest
lguest.c:21:25: error: sys/eventfd.h: No such file or directory
lguest.c: In function ‘create_thread’:
lguest.c:1021: warning: implicit declaration of function ‘eventfd’
make: *** [lguest] Error 1
This is apparenty due to the old libc-dev package that Lenny comes with. Since libc isn’t exactly a good candidate for a selective upgrade I helped myself with simply editing Documentation/lguest/Makefile and changing:
all: lguest
to
all:
So lguest wont be build anymore. After that make-kpkg binary-arch worked as usual.
daftar pustaka
http://linuxsaga.com/guide/compiling-a-new-kernel-in-debian
http://www.debianadmin.com/step-by-step-tutorial-howto-compile-kernel-in-debian-5-0-lenny.html
http://cakebox.homeunix.net/wordpress/?p=100

source: http://papawilly.galuhhandaya.com/?p=832

Leave a Reply