Proses shutdown
Memahami proses yang berlangsung
pada saat startup dan shutdown akan memudahkan dalam mencari
kesalahan (troubleshooting) ketika terjadi masalah
yang berhubungan dengan startup dan shutdown
komputer.
2.1. Proses Startup
Proses startup pada sistem Linux dapat dilihat pada
gambar di bawah:
Keterangan:
1. Pertama kali mesin melakukan power on self test
(pemeriksaan hardware).
2. Program BIOS yang ada di ROM akan dieksekusi.
3. Boot Loader yang ada di MBR akan dieksekusi.
4. Load Kernel Linux ( /boot/vmlinuz ) ke RAM.
5. Menjalankan program init.
2.1.1. init
init merupakan proses level user yang pertama kali
dijalankan oleh kernel dan mempunyai nomor
proses (PID)=1. Selanjutnya init akan membaca file /etc/inittab dan menjalankan perintah didalamnya.
2.1.2. File /etc/inittab
Format umum isi file /etc/inittab adalah sbb:
id:runlevel:action:process
Keterangan :
id = menunjukan identitas suatu baris
runlevel = menunjukan di run level berapa saja yang akan diterapkan
action = menunjukan action apa yang akan kita lakukan
proses = program atau perintah yang haru di lakukan/di eksekusi
Proses Startup
Proses starup
dimulai ketika sistem sudah memanggil LILO dan proses booting sudah diserahkan
pada sebuah program induk yang disebut dengan init. Pada hampir kebanyakan
distribusi Linux, proses startup mengikuti aturan-aturan seperti berikut.
Eksekusi LILO
LILO Memuat secondary loader pada
/boot/chain.b.
/boot/chain.b menjalankan Kernel Linux.
Sampai pada bagian ini, seorang pengguna akan melihat tampilan pesan pada layar
seperti menjalankan daemon, memerika integritas perangkat keras, dan
sebagainya.
Kernel menyerahkan tugasnya kepada init.
Init menjalankan berbagai program di
belakang layar yang dibutuhkan oleh seorang user untuk login ke dala sistem.
Init memanggil program yang digunakan untuk
login.
Proses
Startup pada tiap Distribusi
Seperti sudah
diterangkan di atas, setelah init mengambil alih tugas booting sistem dari LILI
atau GRUB, init akan menjalankan sistem sesuai dengan default run level yang
digunakan. Pada beberapa distribusi, penanganan run level ini berbeda satu
dengan lainnya.
Run Level pada RedHat dan OpenLinux
Kedua
distribusi ini meletakkan program-program shell pada direktori /etc/rc.d.
Program-program yang berhubungan dengan init diletakkan dalam sebuah direktori
master pada /etc/rc.d/init.d. Sedangkan direktori lainnya lagi memiliki nama
yang sama untuk setiap run level, misalnya /etc/rc1.d/ untuk run level 1.
Debian/GNU LINUX
Debian
memiliki kesamaan dengan RedHat ataupun OpenLinux. Perbedaan terletak pada
direktori master, yaitu /etc/init.d sedangkan untuk RedHat atau OpenLinux
adalah /etc/rc.d.init.d.
Slackware
Slackware
memiliki kesamaan dengan RedHat ataupun OpenLinux. Perbedan terletak pada
distribusi Slackware yang tidak menggunakan file dengan link sombolik seperti
yang digunakan oleh distribusi lainnya. Jadi setiap file yang berhubungan
dengan init adalah program binari yang memang dapat dieksekusi untuk
menjalankan script shell.
SuSE
Perbedaan
utama SuSE dengan RedHat ataupun Open Linux adalah struktur yang berada pada
direktori master /etc/rc.d/rc di link kembali ke direktori aktif yang berada
pada /etc/rc.d/.
Proses Startup dan LILO
Penggunaan boot
manajer memungkinkan kita untuk menjalankan lebih dari sistem operasi pada satu
komputer. Dengan boot manajer kita dapat memilih salah satu sistem operasi
untuk dijalankan pada waktu proses booting pertama kali. Kebanyakan distribusi
saat ini menyertakan LILO atau GRUB yang dapat diinstal pada waktu proses
instalasi. Keberadaan boot manajer ini memungkinkan seorang user untuk dapat
menggunakan harddisk berukuran besar dengan menyertakan opsi linear pada
lilo.conf. Untuk mengkonfigurasikan lilo, dapat dilakukan dengan menggunakan
tool-tool berbasis grafis, seperti RedHat dengan Linuxconf atau Webmin untuk
Open Linux. Meskipun tersedia tool berbasis grafis, kita dapat
mengkonfigurasikan lilo dengan menggunakan cara manual pada file
/etc/lilo.conf.
Jika pada
satu komputer terdapat dua sistem operasi (misal Linux dan MS Windows), pada
file lilo.conf terdapat dua baris utama yang menunjukkan opsi yang digunakan
untuk menjalankan kedua sistem operasi tersebut. Pada kedua baris tersebut
terdapat sebuah opsi label yang merupakan nama dari sistem operasi yang
digunakan untuk menjalankan salah satu sistem operasi yang digunakan.
Salah satu
opsi yang digunakan pada lilo adalah pengaturan waktu yang digunakan untuk
memberikan kesempatan user memilih salah satu sistem operasi yang digunakan
sebelum nilai default yang digunakan lilo dijalankan. Opsi ini menggunakan
timeout dan berisikan nilai dalam satuan detik. Misalkan kita akan mengatur
timeout dengan satuan waktu 20 detik, tambahkan opsi berikut ke dalam lilo.conf.
timeout = 200
opsi lainnya
dalah default, yang digunakan untuk mengatur dafult sistem operasi yang akan
dijalankan jika batas timeout di atas sudah habis. Untuk mengatur Linux sebagai
default sistem operasi yang akan dijalankan, gunakan opsi berikut.
default = linux
Untuk
menjalankan sistem operasi, dalam konfigurasi lilo harus dimasukkan opsi image
yang digunakan untuk memanggil image dari kernel Linux. Contoh berikut
digunakan untuk memanggil image kernel yang digunakan pada distribusi RedHat
7.2.
image=/boot/vmlinuz-2.4.7-10
Setelah
memuat image dari Kernel Linux, langkah berikutnya adalah menentukan label dari
kernel Linux yang digunakan, termasuk partisi tempat file image tersebut
berada.
label=linux
root=/dev/hda5
Langkah
terakhir adalah dengan mengaktifkan perubahan yang dilakukan pada file
lilo.conf dengan mengetikkan perintah lilo pada prompt Linux seperti berikut.
#lilo
Berikut ini
adalah isi file lilo.conf yang penulis gunakan pada distribusi RedHat 7.2.
prompt
timeout=50
default=linux
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
linear
image=/boot/vmlinuz-2.4.7-10
label=linux
read-only
root=/dev/hda5