Intro..
Postingan ini berisi dokumentasi tentang kompilasi dan installasi kernel Linux versi 3 yang telah
saya coba di distro Slackware Linux, yang secara garis besar tidak ada perbedaan dengan kompilasi
Linux kernel 2.x. Saat tulisan ini dibuat Slackware Linux (13.37) masih menggunakan kernel Linux
versi 2.6.37.6, sedangkan untuk Slackware-current (28 Sept 2011) masih memakai kernel Linux versi
2.6.38.7.
Background..
Belum lama ini Linus Torvalds memutuskan untuk me-release kernel Linux terbaru yaitu versi 3 yang
merupakan succesor dari kernel Linux versi 2.6.39. Momen ini didukung seiring dengan ulang tahun
yang ke-20 semenjak dirilisnya Linux versi 0.01.
Objectif..
Sebenarnya tidak ada perubahan yang revolusioner dari kernel terbaru ini, khususnya untuk hardware
di laptop saya, ataupun security hole yang mesti ditambal :) Jadi bisa dibilang kalau kompilasi
ini adalah uji coba :D .
Jika dilihat dari release date kernel sistem operasi berlogo pinguin ini, yang notabene perubahan
dari versi 1.0 ke versi 2.0 yang hanya memakan waktu dua tahun, yaitu tahun 1994 versi 1.0
kemudian versi 2.0 pada tahun 1996, maka pergantian ini semestinya dirayakan oleh Linuxer.
Implementasi..
Download source kernel Linux, gunakan last stable version, (saat tulisan ini dibuat v3.0.4 ):
bowo@pcxthinkslack:~/Downloads$ aria2c -cs4 http://ftp.ticklers.org/pub/linux/kernel/v3.0/linux-3.0.4.tar.bz2
Setelah proses download selesai, extract di direktori /usr/src:
bowo@pcxthinkslack:~/Downloads$ cd /usr/src/; tar -xf /home/bowo/Downloads/linux-3.0.4.tar.bz2
bowo@pcxthinkslack:/usr/src$ ls -l
total 8
lrwxrwxrwx 1 root root 11 sept. 28 08:25 linux - > linux-2.6.38.7
drwxr-xr-x 24 root root 4096 mai 22 09:38 linux-2.6.38.7/
drwxrwxr-x 23 root root 4096 août 30 03:56 linux-3.0.4/
lrwxrwxrwx 1 root root 28 juin 17 22:42 vboxhost-4.0.8 - > /opt/VirtualBox/src/vboxhost/
Hapus symlink linux
yang mengacu ke direktori linux-2.6.38.7
, dan buat symlink baru linux
yang mengacu ke direktori linux-3.0.4
:
bowo@pcxthinkslack:/usr/src$ rm linux
bowo@pcxthinkslack:/usr/src$ ln -s linux-3.0.4 linux
Selanjutnya pindah direktori kerja ke /usr/src/linux
, kemudian memulai konfigurasi kernel yang
akan dikompile, berikut perintah-perintahnya:
bowo@pcxthinkslack:/usr/src$ cd linux
bowo@pcxthinkslack:/usr/src/linux$ mkdir -p ~/Build/linux-3.0.4
bowo@pcxthinkslack:/usr/src/linux$ zcat /proc/config.gz > /home/bowo/Build/linux-3.0.4/.config
bowo@pcxthinkslack:/usr/src/linux$ make O=/home/bowo/Build/linux-3.0.4/ oldconfig
bowo@pcxthinkslack:/usr/src/linux$ make O=/home/bowo/Build/linux-3.0.4/ menuconfig
bowo@pcxthinkslack:/usr/src/linux$ make -j4 O=/home/bowo/Build/linux-3.0.4/ all
bowo@pcxthinkslack:/usr/src/linux$ sudo make -j4 O=/home/bowo/Build/linux-3.0.4/ modules_install
bowo@pcxthinkslack:/usr/src/linux$ sudo make -j4 O=/home/bowo/Build/linux-3.0.4/ install
Penjelasan:
(cd linux
): memindah direktori kerja ke /usr/src/linux
(mkdir ~/Build/linux-3.0.4
): membuat direktori baru yang lokasinya adalah
/home/bowo/Build/linux-3.0.4
, untuk apa? Personally, saya lebih memilih menaruh output kompilasi
di dalam direktori home saya agar memudahkan saya dalam file management.
(zcat /proc/config.gz > /home/bowo/Build/linux-3.0.4/.config
): membuat config kernel baru dari
config kernel OS linux yang saat ini sedang dijalankan.
(make O=/home/bowo/Build/linux-3.0.4/ oldconfig
): membaca config kernel yang telah kita buat
sebelumnya, dan menambahkan konfigurasi baru yang belum ada pada config kernel yang lama.
(make O=/home/bowo/Build/linux-3.0.4/ menuconfig
): menampilkan terminal based dialog, untuk
mengkonfigurasi kernel linux (optional). Perintah ini dijalankan jika kita ingin mengubah
parameter-parameter di kernel config. Misalnya untuk laptop saya, saya ubah beberapa konfigurasi
default dari kernel Slackware generic, yaitu di Processor type and features->Processor
family->Core 2/newer Xeon, kemudian di File systems, saya ubah ext3, ext4,reiserfs menjadi
built-in kernel.
(make -j4 O=/home/bowo/Build/linux-3.0.4/ all
): memulai proses kompilasi kernel image dan kernel
module.
(sudo make -j4 O=/home/bowo/Build/linux-3.0.4/ modules_install
): menginstall kernel module ke
system (/lib/modules/3.0.4), memerlukan akses root.
(sudo make -j4 O=/home/bowo/Build/linux-3.0.4/ install
): menginstall kernel image ke system
/boot/vmlinuz
, memerlukan akses root.
Jika proses kompilasi dan installasi berjalan sukses, langkah selanjutnya adalah konfigurasi boot
loader linux agar mengenali kernel yang baru saja kita pasang. Berikut langkah-langkah nya:
bowo@pcxthinkslack:/usr/src$ cd /etc/rc.d/
bowo@pcxthinkslack:/etc/rc.d$ cp rc.modules rc.modules-3.0.4
bowo@pcxthinkslack:/etc/rc.d$ rm rc.modules
bowo@pcxthinkslack:/etc/rc.d$ ln -s rc.modules-3.0.4 rc.modules
bowo@pcxthinkslack:/etc/rc.d$ mv /boot/vmlinuz /boot/vmlinuz-3.0.4
bowo@pcxthinkslack:/etc/rc.d$ ln -s /boot/vmlinuz-3.0.4 /boot/vmlinuz
bowo@pcxthinkslack:/etc/rc.d$ mv /boot/System.map /boot/System.map-3.0.4
bowo@pcxthinkslack:/etc/rc.d$ ln -s /boot/System.map-3.0.4 /boot/System.map
bowo@pcxthinkslack:/etc/rc.d$ cp /home/bowo/Build/linux-3.0.4/.config /boot/config-3.0.4
bowo@pcxthinkslack:/etc/rc.d$ rm /boot/config
bowo@pcxthinkslack:/etc/rc.d$ ln -s /boot/config-3.0.4 /boot/config
Terakhir, edit file /etc/lilo.conf
dan tambahkan item seperti contoh berikut ini:
image = /boot/vmlinuz
root = /dev/sda1
label = Linux_3.0.4
read-only
append="vt.default_utf8=1"
dan jangan lupa jalankan perintah lilo
di terminal, setelah memodifikasi file /etc/lilo.conf
untuk mengupdate
boot loader dan terakhir reboot
.
Result..
Untuk melihat versi kernel pada OS linux, gunakan perintah uname
:
bowo@pcxthinkslack:~$ uname -a
Linux pcxthinkslack 3.0.4pcx #1 SMP Wed Sep 28 09:17:46 WIT 2011 x86_64 Intel(R) Core(TM)
i3-2310M CPU @ 2.10GHz GenuineIntel GNU/Linux
=-=-=-=-=
Powered by Blogilo