Rabu, 07 September 2011

Antara Grub dan Lilo

Hmmm kali ini saya akan membahas tentang boot loader. Sebelum kita membahas lebih lanjut apa si boot loader itu?
Boot Loader adalah suatu program yang sudah tertanam pada suatu sistem operasi untuk mem-boot atau memanggil sistem operasi yang ada pada hard disk dan media boot lainnya seperti flashdisk (contohnya GRUB dan LILO). Biasanya Boot Loader digunakan untuk memilih sistem operasi yang ada pada hard disk karena pada hard disk tersebut memiliki lebih dari 1 sistem operasi. Boot Loader ini, dimuat pada BIOS komputer, yang kemudian digunakan untuk memanggil kernel suatu sistem operasi.
Jadi, Boot Loader ini digunakan untuk memilih dan memanggil sistem operasi yang ada pada hard disk dan media boot lainnya. Misalnya, pada hard disk terdapat sistem operasi Linux Slackware 13.37 dan BlankOn Pattimura. Nah, anda bisa menggunakan salah satu Boot Loader yang sudah disediakan dari kedua sistem operasi tersebut. Boot Loader, harus dipasang pada MBR (Master Boot Record) pada hard disk atau media boot lainnya agar sistem operasi yang terdapat pada hard disk atau media boot lainnya bisa di-boot dengan baik.
Nah boot loadernya si linux itu ada dua jenis loch.
  1. Grub. Apa si grub itu?
    Gub (GRand Unified Bootloader), adalah Boot Loader yang disediakan oleh GNU dan merupakan proyek dari GNU. Grub banyak digunakan pada berbagai macam distro GNU/Linux. Karena grub banyak digunakan oleh berbagai macam distro GNU/Linux, maka perkembangan grub pun menjadi pesat. Lebih lengkap mengenai grub, di http://www.gnu.org/software/grub/ dan http://en.wikipedia.org/wiki/GNU_GRUB


  2. Lilo. Nah lilo itu apa?
    Lilo (LInux Loader), adalah Boot Loader yang terdapat pada sistem operasi GNU/Linux Red Hat dan Slackware. Biasanya lilo sering diset sesuai kebutuhan penggunanya. Banyak menu konfigurasi yang disediakan oleh lilo, dan lilo juga dapat diinstall dan diuninstall. Lebih lengkap mengenai lilo, di http://pemula.linux.or.id/admin/lilo.html dan di http://en.wikipedia.org/wiki/LILO_%28boot_loader%29

Nah setelah kita membahas tentang Boot Loader, sekarang saatnya saya mencoba mengganti boot loader default Slackware saya (yaitu Lilo) dan akan saya ganti dengan Grub. Untuk file grubnya itu bisa di dapatkan di CD 4 dan di folder extra Slackware 13.37 (karena saya memakai Slackware 13.37) atau bisa di dapatkan di sini.
Setelah terinstall lalu jalankan # grubconfig di terminal (sama seperti ketika menjalankan liloconfig). Jalankan:
root@darkstar:/home/aim# fdisk -l

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x100f59dc

Device Boot   Start   End   Blocks   Id   System
/dev/sda1 *   63   195318269   97659103+   83   Linux
/dev/sda2    195318270   199222064   1951897+   82   Linux swap
/dev/sda3   199222065   420343807   110560871+   83   Linux
/dev/sda4   420345854   625139711   102396929   5   Extended
/dev/sda5   420345856   625139711   102396928   83   Linux
root@darkstar:/home/aim#
Dari hasil di atas, untuk:
/dev/sda1 adalah partisi system Slackware
/dev/sda2 adalah partisi swap
/dev/sda3 adalah partisi Data pribadi saya
/dev/sda4 adalah partisi extended
/dev/sda5 adalah partisi system BlankOn
Nah setelah itu baca file /boot/grub/grub.txt. Code:
root@darkstar:/home/aim# pico /boot/grub/grub.txt
Dan perhatikan tulisan ini:
Examples of the difference between Linux and GRUB device names.

Linux IDE: GRUB IDE: Linux SCSI: GRUB SCSI:
/dev/hda1 (hd0,0) /dev/sda1 (hd0,0)
/dev/hda2 (hd0,1) /dev/sda2 (hd0,1)
/dev/hda3 (hd0,2) /dev/sda3 (hd0,2)
/dev/hda4 (hd0,3) /dev/sda4 (hd0,3)
/dev/hdb1 (hd1,0) /dev/sdb1 (hd1,0)
/dev/hdb2 (hd1,1) /dev/sdb2 (hd1,1)
/dev/hdb3 (hd1,2) /dev/sdb3 (hd1,2)
/dev/hdb4 (hd1,3) /dev/sdb4 (hd1,3)

These are some examples of how to use GRUB from the command prompt.
Liat ternyata untuk penulisan grub itu ada sesuatu perbedaan di Grub IDE, jadi kalau misan hda1/sda1 maka grub IDEnya adalah (hd0,0) dan bukan (hd0,1). Ini dia yang kebanyakan orang salah saat mengkonfigurasi grub mereka. Makanya perhatikan yang di atas itu baik-baik sebelum mengedit grub kita.
Setelah anda memahami maksud saya di atas, sekarang liat direktory /boot. Code:
root@darkstar:/home/aim# cd /boot
Lalu ketik perintah:
root@darkstar:/home/aim# ls
README.initrd config-3.0.3 slack.bmp
System.map config-generic-2.6.38.7 tuxlogo.bmp
System.map-3.0.0 config-generic-smp-2.6.38.7-smp vmlinuz
System.map-3.0.3 config-huge-2.6.38.7 vmlinuz-3.0.0
System.map-generic-2.6.38.7 config-huge-smp-2.6.38.7-smp vmlinuz-3.0.1-2-generic
System.map-generic-smp-2.6.38.7-smp grub vmlinuz-3.0.3
System.map-huge-2.6.38.7 initrd-tree vmlinuz-generic-2.6.38.7
System.map-huge-smp-2.6.38.7-smp initrd.gz vmlinuz-generic-smp-2.6.38.7-smp
boot.0800 initrd.img-3.0.1-2-generic vmlinuz-huge-2.6.38.7
boot_message.txt inside.bmp vmlinuz-huge-smp-2.6.38.7-smp
config map
config-3.0.0 onlyblue.bmp
root@darkstar:/boot#
Penjelasan:
vmlinuz --> file symbolic dari kernel vmlinuz-3.0.3 (kenrel hasil kompile sendiri)
vmlinuz-3.0.0 --> vmlinuz untuk kernel versi 3.0.0 (kernel hasil kompile sendiri)
vmlinuz-generic-2.6.38.7 --> vmlinuz untuk kernel versi 2.6.38.7
linuz-3.0.1-2-generic --> vmlinuz kernel punyanya si BlankOn yang telah saya copy dari /dev/sda5 ke /dev/sda1 (direktory /boot Slackware)
initrd.img-3.0.1-2-generic --> file initrd punyanya si BlankOn yang telah saya copy dari /dev/sda5 ke /dev/sda1 (direktory /boot Slackware)
Paham kan maksud saya di atas? Di situ saya jelaskan agar nanti gak bingung untuk mengedit grubnya. Oke dan ini dia isi dari /boot/grub/menu.lst:
root@darkstar:~# pico /boot/grub/menu.lst
# GRUB configuration file '/boot/grub/menu.lst'.
# generated by 'grubconfig'. Tue Sep 6 11:23:28 2011
#
# The backup copy of the MBR for drive '/dev/sda' is
# here '/boot/grub/mbr.sda.3745'. You can restore it like this.
# dd if=mbr.sda.3745 of=/dev/sda bs=512 count=1
#
# Start GRUB global section
timeout 10
color light-gray/blue black/light-gray
# End GRUB global section
# Linux bootable partition config begins
title Linux Slackware
root (hd0,0)
kernel /boot/vmlinuz root=/dev/sda1 ro vga=773
# Linux bootable partition config ends
# Linux bootable partition config begins
title Linux Slack
root (hd0,0)
kernel /boot/vmlinuz-3.0.0 root=/dev/sda1 ro vga=773
# Linux bootable partition config ends
# Linux bootable partition config begins
title Linux Darurat)
root (hd0,0)
kernel /boot/vmlinuz-generic-2.6.38.7 root=/dev/sda1 ro vga=normal
# Linux bootable partition config ends
# Linux bootable initrd config begins
title Linux BlankOn
root (hd0,4)
kernel /boot/vmlinuz-3.0.1-2-generic root=/dev/sda5 ro vga=normal
initrd /boot/initrd.img-3.0.1-2-generic
# Linux bootable initrd config ends
title --- For help press 'c', type: 'help'
root (hd0)
title --- For usage examples, type: 'cat /boot/grub/grub.txt'
root (hd0)
Penjelasan:
timeout 10 --> untuk menampilkan waktu time out (bisa di ubah sesuai selera)
color light-gray/blue black/light-gray (untuk menampilkan warna) title Linux Slackware --> nama yang akan di tampilkan di boot loader
root (hd0,0) --> karena partisi slackware saya di /dev/sda1 maka menjadi (hd0,0). Ingat tulisan saya di atas tentang grub.txt
kernel /boot/vmlinuz root=/dev/sda1 ro vga=773 --> kernelnya pake vmlinuz dari hasil symbolic link kernel 3.0.3
# Linux bootable partition config begins
title Linux Slack --> nama titlenya adalah Slack
root (hd0,0) --> rootnya mengacu pada /dev/sda1
kernel /boot/vmlinuz-3.0.0 root=/dev/sda1 ro vga=773 --> menggunakan kernel versi 3.0.0
# Linux bootable initrd config begins
title Linux BlankOn --> nama titlenya adalah BlankOn
root (hd0,4) --> rootnya mengacu pada drive /dev/sda5
kernel /boot/vmlinuz-3.0.1-2-generic root=/dev/sda5 ro vga=normal --> mengunakan vmlinuz BlankOn yang telah saya kopi sebelumnya dari system /boot BlankOn ke /boot Slackware
initrd /boot/initrd.img-3.0.1-2-generic --> mengunakan initrd BlankOn yang telah saya kopi sebelumnya dari system /boot BlankOn ke /boot Slackware
Semoga anda paham maksud saya.. Tapi menurut saya untuk mengkonfigurasi grub ini agak ribet dan berbeda denga lilo yang menurut saya agak mudah. Tapi kekurangan lilo menurut saya untuk loadingnya lebih lama dibandingkan dengan grub. Ini menurut pendapat saya loch, untuk pilihan boot loader bagi anda si tergantung selera mau pakai Lilo ataupun Grub. Oya cara di atas bisa juga di pakai untuk mendual boot Linux lain. Setelah semuanya di rasa sudah beres. Lalu jalankan # grub-install /dev/sda agar nanti pas restart kita bisa menikmati grub ini dan harus tidak ada errornya seperti di bawah ini hasilnya:
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(hd0) /dev/sda
Selamat Mencoba!

3 komentar:

  1. mo nanya nee kemaren ane cb dual boot fedora & slack ... proses intall sukses tapi pass botting koq nggk da menu buat boot ke fedora ..???

    fdisk output
    Disk /dev/sda: 640.1 GB, 640135028736 bytes
    255 heads, 63 sectors/track, 77825 cylinders, total 1250263728 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disk identifier: 0x000895de

    Device Boot Start End Blocks Id System
    /dev/sda1 * 2048 1026047 512000 83 Linux
    /dev/sda2 1026048 41986047 20480000 82 Linux swap
    /dev/sda3 41986048 340735999 149374976 83 Linux
    /dev/sda4 340736000 1250263039 454763520 5 Extended
    /dev/sda5 340740096 566020095 112640000 83 Linux

    yg /dev/sda6 partisi slackware

    /dev/sda6 566022144 704239615 69108736 83 Linux
    /dev/sda7 704241664 853852159 74805248 83 Linux
    /dev/sda8 853854208 862574591 4360192 82 Linux swap
    /dev/sda9 862576640 869554175 3488768 83 Linux

    trs cb edit lilo.conf tetep aja nggk bisa.. btw ngedit nya ky gini


    # Linux bootable partition config begins
    lba32
    image = /boot/vmlinuz
    root = /dev/root
    label = Linux
    read-only
    image = /boot/vmlinuz
    root = /dev/sda6
    label = /fedora
    read-only
    # Linux bootable partition config ends

    minta bimbinngan nya :(

    BalasHapus
  2. Ane juga pernah ngalamin hal itu pas pake Lilo, bisa si dualboot Linux, tapi masuknya itu lama. Jadi ane coba install grub soalnya lebih gampang n cepet proses bootingnya..
    Untuk kasus ente, kayanya ente belom copy kernel-nya dan file initrd ke /boot Slackware..
    Isinya harusnya seperti ini:
    image = /boot/vmlinuz (punya fedora)
    initrd = /boot/initrd.gz (punya fedora)
    root = /dev/sda6
    label = Fedora
    read-only

    BalasHapus
  3. kita juga punya nih artikel mengenai kernel, silahkan dikunjungi dan dibaca , berikut linknya
    http://repository.gunadarma.ac.id/bitstream/123456789/3056/1/IMG_0018.pdf
    semoga bermanfaat

    BalasHapus