Thursday, January 17, 2008

Upgrade Kernel Linux 2.4 ke 2.6

Dahulu saya melakukan upgrade kernel 2.4.33.3 ke 2.6.20 pada Slackware 11 dengan tujuan akan menginstall paket software ntfs-3g. Banyak terjadi error pada awalnya, seperti mode-teks tidak tampil sebagaimana mestinya, kernel panic dan lain-lain. Setelah mencari referensi, Saya berhasil melakukan upgrade. Berikut ini adalah cara saya melakukan upgrade kernel yang saya lakukan pada Slackware 11. Tetapi menurut saya, seharusnya bisa digunakan untuk distro manapun. Sebelumnya saya mohon maaf bila terdapat kesalahan...

Jika anda baru pertama kali melakukan upgrade kernel, saya sarankan untuk memulai dari:
Kernel-HOWTO

Kemudian untuk menjalankan semua perintah di bawah ini, harap login sebagai 'root'.


Langkah 1: Buat backup data anda

Sebelum melakukan upgrade kernel, ada baiknya dilakukan backup terhadap data karena kita tidak tahu apa yang akan terjadi.


Langkah 2: Mendapatkan paket kernel versi 2.6 dan Ekstrak

Semua versi dari source code untuk linux kernel dapat ditemukan di kernel.org. Anda dapat melakukan download pada situs tersebut. Sangat direkomendasikan mencari mirror terdekat terhadap anda agar proses download berlangsung lebih cepat. Mirror untuk kernel.org adalah: kernel.org/mirrors/. Jika telah mendapat paketnya, lakukan ekstrak paket kernel pada direktori /usr/src/. Karena paket kernel 2.6.20 saya ber-ekstensi tar.gz, jadi:

kode:
tar -xvvf linux-2.6.20.tar.gz


Langkah 3: Baca file README dan INSTALL (Rekomendasi)

File tersebut dapat anda README dan INSTALL setelah mengekstrak paket kernel. Dari file-file tersebut, anda dapat mengetahui apa saja yang dibutuhkan dan bagaimana melakukan upgrade kernel. Tapi kadang upgrade kernel tidak langsung 100% sukses tanpa error hanya berdasarkan file-file tersebut.


Langkah 4: Requirement upgrade kernel
Berikut ini adalah requirement minimum untuk upgrade kernel 2.6:

Nama: Versi Minimum Melihat versi:
- Gnu C Compiler 2.95.3 (gcc --version)
- Gnu Make 3.78 make --version
- binutils 2.12 ld -v
- util-linux 2.10 fdformat --version
- module-init-tools 0.9.9 depmod -V
- procps 2.0.9 ps --version

Jika Anda menggunakan Slackware 11, Requirement diatas telah terpenuhi semua.

Langkah 5: Konfigurasi Kernel yang baru

copy /boot/config ke direktori kernel anda di-ekstrak. Hal ini bertujuan agar konfigurasi yang telah dipakai secara otomatis ter-setting. Dengan kata lain, tidak perlu mengkonfigurasi kernel dari dasar.

Selanjutnya adalah mengkonfigurasi kernel yang baru. Pilih salah satu yang perintah anda inginkan dan jalankan:

# make config (berbasis teks, versi Qustions & Answer)
# make menuconfig (berbasis menu, versi berbasis-teks)
# make xconfig (berbasis X, pastikan anda berada pada X. Perintah yang saya gunakan. Memakai GUI yang sangat memudahkan).


Langkah 6: Build Kernel 2.6

Perintah-perintah di bawah ini berdasarkan file INSTALL yang ada di dalam paket kernel 2.6.20, jadi untuk penjelasan detail setiap perintah, dapat anda baca sendiri.

kode:
# make dep
# make clean

Berikutnya adalah membuat image kernel. Agak memakan waktu pada saat prosesnya sedang berlangsung, jadi anda bisa minum kopi dulu. :^)
catatan: jangan lupa perhatikan besar kecilnya huruf!

kode:
# make bzImage

Kemudian meng-install modul-modul kernel.

kode:
# make modules
# make modules_install


Langkah 7: Install kernel 2.6

Setelah build kernel selesai, selanjutnya adalah copy image kernel 2.6 ke direktori /boot. Karena saya menggunakan mesin komputer intel x86, image kernel dapat saya temukan pada 'arch/i386/boot'. Untuk meng-install, pastikan anda berada di dalam direktori kernel 2.6.

kode:
# pwd
/usr/src/linux-2.6.20

Berikutnya lakukan copy:

kode:
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.20
cp System.map /boot/System.map-2.6.20
cp .config /boot/config-2.6.20

Sangat disarankan jangan menghapus image, system.map, dan config kernel yang lama. Hal ini digunakan sebagai backup apabila kernel 2.6 mengalami error.

Langkah 8: membuat initrd
initrd singkatan dari initial ramdisk. Menurut saya, initrd merupakan bagian dari kernel yang dijalankan pertama kali. Maaf bila salah.

Untuk membuat initrd, pertama-tama pindah ke direktori /boot. Karena filesystem yang saya gunakan adalah ext3, maka membuat initrd-nya:

kode:
ext3:
mkinitrd -c -k 2.6.20 -f ext3 -r /dev/hda5

/dev/hda5 adalah partisi root saya tempat Slackware terinstall. Kemudian ketikkan:

kode:
mkinitrd

Hasil dari perintah tersebut akan menghasilkan mkinitrd.gz.


Langkah 9: edit /etc/lilo.conf
Hasil pengeditan terhadap /etc/lilo.conf milik saya adalah:

jadi bentuk lilo.conf
image = /boot/vmlinuz-2.6.20
root = /dev/hda5
initrd = /boot/initrd.gz
label = sLacKwaRe-new
read-only # Non-UMSDOS filesystems should be mounted read-only for checking
# Linux bootable partition config ends
# Linux bootable partition config begins
image = /boot/vmlinuz.old
root = /dev/hda5
label = sLacKwaRe-old
read-only # Non-UMSDOS filesystems should be mounted read-only for checking
# Linux bootable partition config ends
# Windows bootable partition config begins
other = /dev/hda4
label = windows
table = /dev/hda
# Windows bootable partition config ends

Setelah selesai meng-edit, ketikkan:

kode:
/sbin/lilo


Langkah 10: saatnya mencoba...
Lakukan reboot setelah langkah ke-9. Pilih menu lilo yang menggunakan kernel 2.6. Apabila kernel anda dapat berjalan, Selamat! Anda Berhasil! Tapi jika tidak, coba cek apakah semua program berjalan dengan baik pada kernel yang baru atau mencari referensi di Internet.

Anda harus menghabiskan beberapa jam atau bahkan hari untuk memastikan kernel yang baru dapat berjalan. Apabila yakin tidak ada masalah, anda dapat menghapus kernel yang lama.


sumber:
dari berbagai sumber yang saya lupa URL-nya. maaf!

No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...