Jumat, 01 April 2011

Proses Booting Linux



Saat pertama kali anda menekan tombol power di komputer anda, maka proses booting akan bekerja sampai selesai dan membawa anda ke halaman login atau di system linuxyang anda gunakan. Tetapi apakah anda tahu sebenarnya proses apa saja yang dikerjakan oleh system sampai bisa membawa anda ke tampilan desktop yang siap untuk digunakan? jika anda belum mengetahuinya berikut adalah penjelasannya, yang sengaja saya sharing untuk anda pengunjung setia blog ini.
Setidaknya ada 6 tahapan proses booting di system operasi linux, seperti yang dapat anda lihat pada gambar di bawah ini

1. BIOS
  • BIOS singkatan dari Basic Input Output System
  • Melakukan pemeriksaan pada semua hardware yang terintegrasi dalam 1 komputer
  • Mencari, meload, dan menjalankan program boot loader
  • BIOS akan meload boot loader berupa floppy disk, CD, DVD, ,usb disk, dan harddisk sesuai dengan setingan yang anda lakukan di BIOS, ada beberapa computer yang bisa di atur urutan bootingnya dengan menekan tombol F2 atau F12.
  • Setelah program boot loader dideteksi dan dimuat ke memori, BIOS akan mengontrol penuh semua hardware
  • Setelah semua dapat di control dengan baik BIOS akan menjalankan boot loaderMBR
2. MBR
  • MBR singkatan dari Master Boot Record
  • Terdapat pada sektor pertama di bootable disk, biasanya di /dev/hda, atau /dev/sda
  • MBR memiliki ukuran kurang dari 512 bytes, mempunyai 3 komponen utama yaitu : info bootloader primer pada 466 bytes pertama, info partition table pada 64 bit selanjutnya, dan pengecekan validasi MBR di 2 byte terakhir
  • MBR berisi informasi dari GRUB atau LILO
  • MBR akan mengeload dan mengeksekusi GRUB bootloader
3. GRUB
  • GRUB merupakan kepanjangan dari Grand Unified Bootloader.
  • Jika anda memiliki lebih dari satu kernel terinstall di system anda, anda bisa memilih mana yang akan di jalankan
  • GRUB akan menampilkan splash screen agar anda dapat memilih kernel/system mana yang akan anda jalankan, dalam beberapa menit jika anda tidak memilih maka GRUB akan menjalankan kernel default sesuai dengan setingan di file konfigurasi GRUB
  • GRUB berbeda dengan LILO, GRUB mengetahui jenis file system yang anda gunakan sedangkan LILO tidak.
  • Anda dapat mengedit konfigurasi GRUB di /etc/grub.conf, berikut adalah contoh file konfigurasi GRUB pada system operasi linux ubuntu yang berada pada /etc/default/grub
01# If you change this file, run 'update-grub' afterwards to update
02# /boot/grub/grub.cfg.
03
04GRUB_DEFAULT=0
05#GRUB_HIDDEN_TIMEOUT=0
06GRUB_HIDDEN_TIMEOUT_QUIET=true
07GRUB_TIMEOUT=10
08GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
09GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
10GRUB_CMDLINE_LINUX=""
11
12# Uncomment to enable BadRAM filtering, modify to suit your needs
13# This works with Linux (no patch required) and with any kernel that obtains
14# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
15#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
16
17# Uncomment to disable graphical terminal (grub-pc only)
18#GRUB_TERMINAL=console
19
20# The resolution used on graphical terminal
21# note that you can use only modes which your graphic card supports via VBE
22# you can see them in real GRUB with the command `vbeinfo'
23#GRUB_GFXMODE=640x480
24
25# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
26#GRUB_DISABLE_LINUX_UUID=true
27
28# Uncomment to disable generation of recovery mode menu entries
29#GRUB_DISABLE_LINUX_RECOVERY="true"
30
31# Uncomment to get a beep at grub start
32#GRUB_INIT_TUNE="480 440 1"
  • GRUB hanya akan meload dan menjalankan Kernel dan initrd images.
4. Kernel
  • Akan memount system root sesuai dengan baris “root=” di file grub.conf
  • kernel akan mengeksekusi program /sbin/init
  • Init akan memperoleh proses ID (PID) no 1, silahkan cek dengan menggunakan perintah
  • ps -ef | grep init
  • Initrd merupakan singkatan dari Initial RAM Disk
    Initrd digunakan oleh kernel sebagai temporary file sistem root sampai proses booting selesai, dan file sistem root sesungguhnya ter mount.
5. Init
  • Memeriksa file /etc/inittab untuk menetapkan linux run level
  • Berikut adalah run level yang tersedia
0 – halt
1 – Single user mode
2 – Multiuser, without NFS
3 – Full multiuser mode
4 – unused
5 – X11
6 – reboot
  • Biasanya yang anda pakai adalah run level 3 atau 5
6. Runlevel Program
  • Saat system linux sedang booting, anda akan mendapatkan beberapa service yang ada sedang di jalankan biasanya tampil tulisan seperti berikut “starting sendmail …….. OK” dan sebagainya, itulah yang disebut sebagai run level program.
  • tergantung pada pengaturan anda di init level, sistem akan menjalankan program dari salah satu direktori berikut :
Run level 0 – /etc/rc.d/rc0.d/
Run level 1 – /etc/rc.d/rc1.d/
Run level 2 – /etc/rc.d/rc2.d/
Run level 3 – /etc/rc.d/rc3.d/
Run level 4 – /etc/rc.d/rc4.d/
Run level 5 – /etc/rc.d/rc5.d/
Run level 6 – /etc/rc.d/rc6.d/


Semoga bermanfaat…

Tidak ada komentar:

Posting Komentar