sumber: http://devilzc0de.org/forum
Mungkin kita pernah mengalami permasalahan driver tidak berfungsi di linux setelah melakukan update atau upgrade. Seperti dulu saya mengalami masalah pada wireless intel yg tidak berfungsi setelah melakukan upgrade. Banyak cara yg telah saya coba seperti mengcompile ulang driver wireles intel tersebut namun hasilnya tetap tidak berhasil . Namun setelah saya mengupgrade kernel ke versi yg lebih tinggi, akhirnya wireless kembali berfungsi.
Sebenarnya mengupgrade kernel ini tidak terlalu sulit tergantung cara kita melaksanakan. Berikut cara mengupgrade kernel secara mudah dan telah saya coba di fedora saya.
Siapkan dulu kernel yg akan kita compile dan kita gunakan. Di sini saya akan mengupgrade kernel dari versi 2.6.38.6-27.fc15.i686 bawaan dari fedora 15 ke versi 2.6.39 stable. Untuk mendownloadnya Bisa kita download di kernel.org atau melalui terminal dengan perintah
# wget linkdownloadkernel
Selanjutnya kita ekstrak kernel tersebut terserah dimana, sebagai contoh saya meletakkan di path /usr/src/kernels/
# su
# cp linux-2.6.39.tar.bz2 /usr/src/kernels/
# cd /usr/src/kernels/
# tar xjf linux-2.6.39.tar.bz2
# cd linux-2.6.39
Sebelumnya kita harus membuat konfigurasi untuk kernel tersebut. Karena saya hanya akan melakukan proses upgrade kernel maka saya akan menggunakan konfigurasi dari kernel 2.6.38.6-27.fc15.i686 sebelumnya yg berada di path /boot/config-2.6.38.6-27.fc15.i686 atau jika belum terhapus bisa kita ambil dari path atau folder /usr/src/kernels/2.6.38.6-27.fc15.i686/.config , Tampilkan dulu file hidden dengan dengan menekan tombol ctrl dan h
Karena saya bukan seorang yg expert maka saya menggunakan versi mode GUI (graphic user interface) agar lebih mudah. ada beberapa macam atau tampilan perintah untuk membuat konfigurasi, bisa di lihat di file README yg berada folder kernel yg akan compile.
Ketikan perintah berikut :
# make mrproper
# cp /boot/config-`uname -r` ./.config
# make menuconfig
Akan tampak gambar di bawah ini, arahkan kebawah ke Load an Alternate Configuration File seperti gambar
kemudian tekan enter, muncul seperti ini
Karena sebelumya kita telah meletakan file konfigurasinya dengan nama .config maka pilih ok kemudian yes. Setelah itu kita kembali ketampilan awal dan arahkan ke text <Exit> , jika muncul gambar seperti di bawah ini pilih saja yes.
Jika kalian ingin sedikit memodifikasi nama dari kernel yg akan kalian compile, edit file Makefile seperti contoh di bawah ini :
# sudo gedit Makefile
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 39
EXTRAVERSION = .Antroid-W2N
NAME = Flesh-Eating Bats with Fangs
Ganti tulisan yg bercetak miring di atas sesuai keinginan.
Sekarang kita masuk proses compile. Ketikan perintah berikut :
# make all
# make modules_install
# make install
Proses ini berlangsung lama membutuhkan waktu sekitar 2-4 jam tergantung dari spek komputer. Jika kita ingin meninggalkan dan menginginkan proses sudah selesai setelah kita melihat kembali maka kita bisa menggabungkan semua perintah di atas sehingga proses compile bisa di lakukan sekaligus, ketikan perintah berikut :
# make all && make modules_install && make install
Jika proses di atas sudah selesai di laksanakan maka sekarang kita melanjutkan proses seting di konfigurasi boot loader agar kernel kita bisa terload saat melakukan proses booting. Namun biasanya jika kita melaksanakan sesuai dengan perintah di atas maka kernel yg telah kita buat sudah otomatis di masukan dalam boot loader di grub. Tapi jika itu tidak terjadi atau kita akan mengganti default booting komputer lakukan cara berikut :
File konfigurasi terletak di path /boot/grub/menu.lst
# sudo gedit /boot/grub/menu.lst
Silakan edit sesuai dengan keinginan kalian.
Sebagai contoh kalian bisa melihat konfigurasi dari menu.lst di fedora saya yg menggunakan triple boot.
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,6)
# kernel /boot/vmlinuz-version ro root=/dev/sda7
# initrd /boot/initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,6)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora 15 Lovelockroot (hd0,6)
kernel /boot/vmlinuz-2.6.39.Antroid-W2N ro root=UUID=11cda25d-fd0a-4df3-8f68-89d811870b39 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us noiswmd rhgb quiet
initrd /boot/initramfs-2.6.39.Antroid-W2N.img
#title Fedora (2.6.38.6-27.fc15.i686)
# root (hd0,6)
# kernel /boot/vmlinuz-2.6.38.6-27.fc15.i686 ro root=UUID=11cda25d-fd0a-4df3-8f68-89d811870b39 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM #LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us noiswmd rhgb quiet
# initrd /boot/initramfs-2.6.38.6-27.fc15.i686.img
title BacktrackR5
root (hd0,1)
kernel /boot/vmlinuz-2.6.38 ro root=UUID=e1473d2e-c07f-4fb3-b584-259ea8b01de5 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us noiswmd rhgb quiet
initrd /boot/initrd.img-2.6.38
title Windows Se7en
rootnoverify (hd0,0)
chainloader +1
Reboot komputer, untuk mengecek kernel yg di gunakan :
$ uname -r
2.6.39.Antroid-W2N
Tolong di koreksi kalu salah, kalu ada yg mau di tambah silakan di tambah..