Install/Upgrade Kernel pada Slackware

Selasa, 27 Juni 2006 | Software dan OS
Kernel serta software-software lainnya pada Slackware dapat diinstall dari source (umumnya dalam format tar.bz2 dan tar.gz) ataupun menggunakan paket dari Slackware yang berekstensi *.tgz. Saya menggunakan Slackware 10.2 dengan kernel 2.4.31. Kali ini kita akan mencoba menginstall/upgrade kernel tersebut ke versi 2.6.16.20 dengan menggunakan paket *.tgz milik Slackware. Sebab, cara ini relatif lebih mudah daripada harus mengkompile dan mengkonfigurasi langsung dari source, khususnya bagi para newbie seperti saya.

Pertama yang harus dilakukan adalah mendownload paket-paket yang dibutuhkan dari mirror Slackware, yaitu :

alsa-driver-1.0.11_2.6.16.20-i486-1.tgz
kernel-generic-2.6.16.20-i486- 1.tgz
kernel-headers-2.6.16.20-i386-1.tgz
kernel-modules-2.6.16.20-i486- 1.tgz
kernel-source-2.6.16.20-noarch-1.tgz

Untuk melihat daftar mirror Slackware dan mendapatkan paket softwarenya, anda dapat mengunjungi alamat :

http://www.slackware.com/getslack
http://www.linuxpackages.net

Paket kernel dan alsa-driver di atas bisa ditemukan di direktori testing/packages/linux-2.6.16.20/. Versi kernel dan paket lainnya mungkin saja berbeda dengan yang anda miliki. Ini hanya sebagai contoh. Kemudian, install paket-paket tersebut.

#installpkg *.tgz

Sampai di sini, kernel baru sudah siap digunakan. Langkah selanjutnya adalah membuat initrd. Initrd akan di-load ke RAM sebelum partisi root di-mount. Cara termudah untuk membuat initrd adalah dengan menggunakan script mkinitrd yang disertakan pada paket mkinitrd Slackware. Tentu saja sebelumnya paket mkinitrd harus sudah terinstall di komputer anda. Dokumentasinya dapat dilihat pada /usr/doc/mkinitrd-1.0.1/README.initrd. Kira-kira begini...

Alasan kenapa kita menggunakan initrd adalah karena kita harus me-load modul kernel tertentu sebelum partisi root di-mount. Biasanya modul-modul ini dibutuhkan untuk men-support filesystem yang digunakan oleh partisi root (seperti ext3, reiserfs dan xfs). Untuk membuat initrd, pindah ke direktori /boot :

#cd /boot

Jika anda menggunakan reiserfs untuk partisi root, maka modul reiserfs harus di-load :

#mkinitrd -c -k 2.6.16.20 -m reiserfs

Contoh lain, jika anda menggunakan ext3 untuk partisi root pada /dev/hda9, maka yang dibutuhkan adalah modul jbd dan ext3 :

#mkinitrd -c -k 2.6.16.20 -m jbd:ext3 -f ext3 -r /dev/hda9

Perintah di atas akan menciptakan direktori /boot/initrd-tree serta sebuah initrd /boot/initrd.gz. Selanjutnya, tinggal mengedit /etc/lilo.conf agar me-load initrd bersamaan dengan kernel saat booting. Berikut ini contoh bagian file /etc/lilo.conf.

# Linux bootable partition config begins
image = /boot/vmlinuz
initrd = /boot/initrd.gz
root = /dev/hda9
label = Linux-2.6.16.20
read-only
# Linux bootable partition config ends


/boot/vmlinuz merupakan symlink menuju /boot/vmlinuz-generic-2.6.16.20. Untuk berjaga-jaga, sebaiknya tetap membuat option booting ke kernel lama. Pada file /etc/lilo.conf tinggal ditambahkan baris :

image = /boot/vmlinuz-ide-2.4.31
root = /dev/hda9
label = Linux-2.4.31
read-only


Jangan lupa untuk menjalankan lilo.

#/sbin/lilo

Reboot komputer anda, booting ke kernel yang baru saja di-install. Jika tidak ada masalah dan semuanya dapat berjalan dengan baik, maka kernel lama bisa anda hapus.

Referensi :



Komentar

putra
12 Oktober 2010 - 19:03:59
mas setelah eksekusi perintah :

"#mkinitrd -c -k 2.6.16.20 -m reiserfs"

keluar :
" 3089 blocks "

ini apa? dan kenapa ?
thanks