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. Slackware 10.2 dengan kernel 2.4.31. Kali ini kita akan mencoba menginstall/upgrade kernel tersebut ke versi 2.6.16.22 dengan menggunakan paket *.tgz milik Slackware.
Pertama yang harus dilakukan adalah mendownload paket-paket yang dibutuhkan dari mirror Slackware, yaitu :
alsa-driver-1.0.11_2.6.16.22-i486-1.tgz
kernel-generic-2.6.16.22-i486-1.tgz
kernel-headers-2.6.16.22-i386-1.tgz
kernel-modules-2.6.16.22-i486-1.tgz
kernel-source-2.6.16.22-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.22/. 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.
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 mensupport 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. Pada console ketikkan :
#mkinitrd -c -k 2.6.16.22 -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.22 -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.22
read-only
# Linux bootable partition config ends
/boot/vmlinuz merupakan symlink menuju /boot/vmlinuz-generic-2.6.16.22. 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.






