Cara Compile Kernel

Oke sebenarnya cara ini saya dapet dari situs Jasakom. Dengan mengedit sedikit perintah saja dan alhamdullah Slackware saya akhirnya bisa upgrade kernel.
Yaudah daripada lama-lama mending kita langsung saja ya praktekin. πŸ˜€
Untuk Slackware:
  1. Pertama download dulu kernelnya di kernel.org atau klik ini. Ingat download yang versi stabil ya..
  2. Setelah di download langsung aja ekstrak ke direktory /usr/src. (misalnya kernel tadi ada di direktory /home/aim/Downloads), jadi kita ke direktory tersebut dulu dengan mengetikkan kode di terminal:
    # cd /home/aim/Downloads.

  3. Setelah itu ketik # ls dan lihat adakah file kernel kita?
  4. Kalau ada langsung aja kita ekstrak filenya dengan code:
    # tar xjvf linux-3.0.tar.bz2 -C /usr/src/

  5. Setelah di ekstrak tadi maka langsung aja kita ke direktory /usr/src. Codenya:
    # cd /usr/src

  6. Lalu liat kernel yang udah di ekstrak tadi ada tidak dengan code # ls. Maka akan menghasilkan file:
    linux linux-2.6.37.6 linux-3.0

  7. Setelah itu kita masuk ke direktory linuxnya dengan code:
    # cd /usr/src/linux-3.0

    (karena kernel yang saya pakai dan ekstrak tadi adalah versi 3.0). Lalu baca file README-nya dengan code:

    # cat /usr/src/linux-3.0/README

  8. Apabila ada perintah kayak gini make mrproper (untuk install), maka kita harus kutin dulu baru kelangkah selanjutnya. code:
    # make mrproper

  9. Ini adalah tahap pertama kompile. Karena kita hanya akan meng-upgrade kernel pada saat ini, jadi kita copy config kernel yang lama dari direktori /boot. caranya kita liat dulu dengan perintah
    # ls /boot. Misal akan keluar seperti ini:
    README.initrd config-huge-smp-2.6.37.6-smp
    System.map diag1.img
    System.map-generic-2.6.37.6 diag2.img
    System.map-generic-smp-2.6.37.6-smp initrd-tree
    System.map-huge-2.6.37.6 initrd.gz
    System.map-huge-smp-2.6.37.6-smp map
    boot.0800 slack.bmp
    boot_message.txt vmlinuz
    config vmlinuz-generic-2.6.37.6
    config-generic-2.6.37.6 vmlinuz-generic-smp-2.6.37.6-smp
    config-generic-smp-2.6.37.6-smp vmlinuz-huge-2.6.37.6
    config-huge-2.6.37.6 vmlinuz-huge-smp-2.6.37.6-smp

  10. Copy file confignya dengan code:
    # cp /boot/config-generic-2.6.37.6 /usr/src/linux-3.0/.config

  11. Oke selanjutkan kita akan membuat Sym-link arsip kernel baru. Pada bagian ini kita harus membuat symbolic link (shortcut) buat kernel linux yang baru. Tapi sebelum itu kita hapus dulu symbolic link yang dibuat oleh Slackware/linux ente (default). Codenya:
    # cd /usr/src/
    # rm linux
    # ln -s linux-3.0 linux

  12. Kalau udah sekarang saatnya kita ke direktory linuxnya dengan code:
    # cd /usr/src/linux

  13. Nah sekarang kita memasuki tahap yang membutuhkan ketelitian yang tinggi dan jangan sampai salah
  14. make menuconfig (modus text)
    make xconfig (modus grafik, QT)
    make gconfig (modus grafik, GTK)
    make oldconfig (modus text pake konfigurasi kernel yang lama)
    Ane saranin si pake menuconfig aja. πŸ˜€ dengan code:
    # make menuconfig

    (abis itu langsung save lagi ya)

  15. Nah dalam menuconfig itu kita harus hati-hati ya dan teliti. Harus sesuah dengan spesifikasi kompi kita. Untuk mengetahui spesifikasi kompi kita bisa ketik diterminal #lspci dan # cat /proc/cpuinfo
  16. Nah kalau sudah dan saya anggap anda sudah benar mengeditnya, kita langsung kompile kernel aja ya? Code:
    # make bzImage (untuk membuat image kernel).

    Lumayan di kompi ane set jam.

  17. Selanjutnya adalah kita mengkompile modules (lumayan 1 jam di kompi ane). Code:
    # make modules

  18. Nah yang ini adalah untuk mengistal modulesnya (sebentar gak nyampe 10 menit). COde:
    # make modules_install

  19. Sekarang copy Image kernel,config, dan System.map baru Kalau ditemukan error, silahkan liat-liat lagi step-stepnya. Kalau normal dan ga ada masalah, kita akan mengcopy kernel image yang telah di kompile tersebut ke direktori /boot. Code:
    # cp arch/i386/boot/bzImage /boot/vmlinuz-3.0.0-kernel-baru
    # cp System.map /boot/System.map-3.0.0-kernel-baru
    # cp .config /boot/config-3.0.0-kernel-baru
    # cd /boot
    # rm System.map (Hapus symbolic link System.map lama)
    # rm config (Hapus symbolic link config lama)
    # rm vmlinuz (Hapus symbolic link kernel image yg lama)
    # ln -s vmlinuz-3.0.0-kernel-baru vmlinuz (symbolic link kernel baru)
    # ln -s config-3.0.0-kernel-baru config (symbolic link config baru)
    # ln -s System.map-3.0.0-kernel-baru System.map (symbolic link System.Map baru)

  20. Nah sekarang waktunya membuat Initrd (ini penting, jangan sampe kelewat ya)? Silakan membuat initrd agar kernel dapat meload partisi root. Masih di direktori /boot. Code:
    # mkinitrd -c -k 3.0.0 -m jbd:ext4 -f ext4 -r /dev/sda1

    (ini untuk file system ext2 samapi ext4 kalau gak salah dan untuk selain itu beda codenya). Oya jangan sampai salah ya untuk /dev/sda1-nya. Untuk itu harus di cek dulu dimana partisi root linux kita denga perintah

    # fdisk -l.

  21. Terakhir kita edit liloya (atau grub). Karena disini saya pakai lilo, maka saya akan jelaskan cara memakai lilo. Untuk grub silahkan cari di http://www.google.com :D.
    pertama lihat dulu direktory /boot dengan ls /boot. Code:
    # ls /boot
    README.initrd config initrd.gz
    System.map config-3.0.0 map
    System.map-3.0.0 config-generic-2.6.37.6 slack.bmp
    System.map-generic-2.6.37.6 config-generic-smp-2.6.37.6-smp vmlinuz
    System.map-generic-smp-2.6.37.6-smp config-huge-2.6.37.6 vmlinuz-3.0.0
    System.map-huge-2.6.37.6 config-huge-smp-2.6.37.6-smp vmlinuz-generic-2.6.37.6
    System.map-huge-smp-2.6.37.6-smp diag1.img vmlinuz-generic-smp-2.6.37.6-smp
    boot.0800 diag2.img vmlinuz-huge-2.6.37.6
    boot_message.txt initrd-tree vmlinuz-huge-smp-2.6.37.6-smp

    Barulah atur lilonya

  22. # nano /etc/lilo.conf

    (akan menghasilkan dan edit menjadi sepeti ini contohnya)

    # LILO configuration file # generated by ‘liloconfig’ # # Start LILO global section boot = /dev/sda #compact # faster, but won’t work on all systems. # Boot BMP Image. # Bitmap in BMP format: 640x480x8 bitmap = /boot/slack.bmp # Menu colors (foreground, background, shadow, highlighted # foreground, highlighted background, highlighted shadow): bmp-colors = 255,0,255,0,255,0 # Location of the option table: location x, location y, number of # columns, lines per column (max 15), “spill” (this is how many # entries must be in the first column before the next begins to # be used. We don’t specify it here, as there’s just one column. bmp-table = 60,6,1,16 # Timer location x, timer location y, foreground color, # background color, shadow color. bmp-timer = 65,27,0,255 # Standard menu. # Or, you can comment out the bitmap menu above and # use a boot message with the standard menu: #message = /boot/boot_message.txt # Append any additional kernel parameters: append=” vt.default_utf8=0″ prompt timeout = 50 # Normal VGA console vga = normal # Ask for video mode at boot (time out to normal in 30s) #vga = ask # VESA framebuffer console @ 1024x768x64k # vga=791 # VESA framebuffer console @ 1024x768x32k # vga=790 # VESA framebuffer console @ 1024x768x256 # vga=773 # VESA framebuffer console @ 800x600x64k # vga=788 # VESA framebuffer console @ 800x600x32k # vga=787 # VESA framebuffer console @ 800x600x256 # vga=771 # VESA framebuffer console @ 640x480x64k # vga=785 # VESA framebuffer console @ 640x480x32k # vga=784 # VESA framebuffer console @ 640x480x256 # vga=769 # ramdisk = 0 # paranoia setting # End LILO global section # Linux bootable partition config begins image = /boot/vmlinuz initrd = /boot/initrd.gz root = /dev/sda1 label = Slackware read-only # Linux bootable partition config ends # Linux Kernel Dokter jaga 24 jam image = /boot/vmlinuz-huge-2.6.37.6 initrd = /boot/initrd.gz root = /dev/sda1 label = LinuxDarurat read-only # Linux bootable partition config ends

  23. Lalu jalankan lilo -v di terminal
  24. Terakhir adalah hal yang paling mendebarkan… Kita restart kompi kita dan berdoa semoga berhasil ya :).. Bismillah

Catatan:
Oke dari hasil diatas, alhasil saya berhasil masuk ke slackware saya (tapi ada sedikit error). Katanya itu biasa kok, namanya juga pemula. Hehe.. Nah error yang saya temuin itu adalah alsactl error saat hidupin kompi (dan cara benerinnya cukup ketik alsactl restore). Lalu setelah itu touchpad laptop saya tidak bisa scroll ke atas/ke bawah/kiri/kanan. Sebenarnya itu bukan error kok, tapi untuk mengatasinya agar bisa scroll cukup taruh aja 2 jari ke touchpadnya, lalu drag dah, alhasil bisa dah scroll.
Selain itu Slackware saya baik-baik saja dan tidak ada error (bahkan ada beberapa yang dulu error di layar kompi saya goyang-goyang, tapi sekarang malah jadi bener sendiri karna pakai kernel baru).. Pokoknya makin cinta Linux dah…

6 comments

  1. Sangar…keren punya. Saya belum beani dan belum pernah melakukan ini. Rencana sih pengen coba. Menanti komputer ada dulu:)

    Saya senang sekaligus heran dengan itus Anda ini yang demikian atraktif. Bagaimana ANda mengatur animasi B bergerigi di kala loading, Mas?

    Wassalam,

    Ade Malsasa Akbar
    http://malsasa.tk

  2. @Ade Malsasa Akbar..
    Terimakasih mas atas kunjungannya ke blog yang sederhana ini, untuk animasi bergerigi itu udah dari bloggernya kok.. Thema terbaru untuk blogspot.
    Nah untuk kompile kernel, di coba aja mas kompile sendiri, dan jangan takut gagal, ane aja gagal sampe 3x, tapi yang ke empat berhasil.. πŸ˜€
    Salam Go Open Source

  3. Baru pertama kali ya gan ngompile? Ane jg gitu kalau baru pertama kali. Pasti ada yang salah itu gan atau setting di menuconfignya itu ada yang salah..

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s