6.1. Booting dan
Linux Init Process
Booting
merupakan suatu proses pada sistem operasi ketika suatu laptop atau komputer
dihidupkan pertama kali. Urutan proses
booting pada sistem operasi linux, secara umum adalah sebagai berikut :
1. BIOS:
Basic Input/Output System merupakan interface level paling bawah yang
menghubungkan antara komputer dan periperalnya. BIOS melakukan pengecekan
integritas memori dan mencari instruksi pada Master Boot Record (MBR) yang
terdapat pada floppy drive atau harddisk.
2. MBR
menjalankan boot loader. Pada sistem operasi LInux, boot loader yang sering
dipakai adalah LILO (Linux Loader) dan GRUB (GRand Unified Boot loader). Pada
Red Hat dan Turunannya menggunakan GRUB sebagai boot loader.
3. LILO/GRUB
akan membaca label sistem operasi yang kernelnya akan dijalankan. Pada boot
loader inilah sistem operasi mulai dipanggil. Untuk mengkonfigurasi file grub,
buka filenya di /boot/grub/grub.conf
4. Setelah
itu, tanggung jawab untuk booting diserahkan ke kernel. Setelah itu, kernel
akan menampilkan versi dari kernel yang dipergunakan, mengecek status SELinux,
mengecek paritisi swap, mengecek memory, dan sebagainya.
5. Kernel
yang dipanggil oleh bootloader kemudian menjalankan program init, yaitu proses
yang menjadi dasar dari proses-proses yang lain. Ini dikenal dengan nama The
First Process. Proses ini mengacu pada script yang ada di file
/etc/rc.d/rc.sysinit.
6. Program
init kemudian menentukan jenis runlevel yang terletak pada file /etc/inittab.
Berdasarkan pada run-level, script kemudian menjalankan berbagai proses lain
yang dibutuhkan oleh sistem sehingga sistem dapat berfungsi dan digunakan.
Runlevel
adalah suatu parameter yang mengatur layanan yang akan dijalankan misalnya
single user, reboot, shutdown, dan sebagainya. Program untuk mengatur runlevel
ini adalah init yang terletak pada direktori /etc/inittab, seperti pada gambar
berikut ini.
Linux
mempunyai 6 state operasi dimana “0” adalah halt, “1” adalah single user, “2-5”
digunakan untuk multiuser. Berdasarkan sistem boot, Linux sistem akan melakukan
:
·
Mengeksekusi
program /sbin/init yang memulai semua proses-proses lain. Program ini akan
diberikan ke mesin oleh proses awal yang didefinisikan pada file/etc/inittab.
·
Komputer
akan di-booting ke runlevel yang didefinisikan oleh baris initdefault pada file
/etc/inittab. Pada gambar di atas, defaultnya adalah id:2:initdefault.
· Satu dari proses-proses yang dimulai oleh init adalah
/sbin/rc. Skrip ini menjalankan sekumpulan skrip pada direktory
/etc/rc.d/rc0.d/, /etc/rc.d/rc1.d, /etc/rc.d/rc2.d dan seterusnya.
·
Skrip
pada direktory tersebut dieksekusi pada setiap boot state dari oeprasi sampai menjadi
operasi yang lengkap. Skrip mulai dengan S yang merupakan skrip startup
sedangkan skrip yang dimulai dengan K menandakan skrip shutdown (kill). Angka
yang mengikuti huruf tersebut merupakan urutan eksekusi (terendah ke tertinggi)