Praktikum 10. Linux Booting Process

 

Praktikum 10

Linux Booting Process

­POKOK BAHASAN:

ü  Linux Booting Process

 

TUJUAN BELAJAR:

Setelah mempelajari materin dalam bab ini, mahasiswa diharapkan mampu:

ü  Mengetahui inisialisasi booting proses pada sistem operasi Linux

ü  Melakukan perubahan inisialisasi booting proses

 

TEORI SINGKAT:

1.      PC BOOT DAN LINUX INIT PROCESS

Pada praktikum ini membahas PC boot process dan inisialisasi sistem operasi Linux pada aplikasi background (daemons/service).

1.      BIOS: Basic Input/Output System adalah antar muka level terendah antara komputer dan peripheral. Bios melakukan pemeriksaan pada memori dan mencari instruksi pada Master Boot Record (MBR) pada floppy atau hard drive.

2.      MBR menunjuk ke boot loader (LILO: Linux boot loader)

3.      LILO akan menanyakan label sistem operasi yang akan mengidentifikasi kernel yang dijalankan. Kernel akan menjalankan sistem operasi Linux.

4.      Yang pertama kali dikerjakan oleh kernel adalah menjalankan program init. Init adalah root/parent dari semua proses yang dijalankan pada Linux

5.      Proses per tama yang memulai init adalah skrip /etc/rc.d/rc/sysinit.

6.      Berdasarkan run-level yang ditentukan, skrip dieksekusi untuk memulai proses tertentu untuk menjalankan sistem dan membuat sistem lebih fungsional.

 

2.      LINUX INIT PROCESS

Proses init adalah langkah terakhir pada prosedur boot dan diidentifikasi sebagai process ide “1”. Init bertanggung-jawab untuk memulai proses sistem seperti yang ditentukan pada file /etc/inittab. Init biasanya memulai “getty” yang menunggu layar   login   yang menandakan   proses   shell seorang user. Pada saat shutdown, init mengontrol urutan dan proses untuk shutdown. Proses init tidak pernah shut down. Proses init merupakan proses user dan bukan proses sistem kernel meskipun dijalankan sebagai root.

            Proses sistem:

Process ID

Description

0

The Scheduler

1

The init process

2

kflushd

3

kupdate

4

kpiod

5

kswapd

6

mdrecoveryd

 

3.      PROSEDUR BOOT

Linux mempunyai 6 state operasi dimana “0” adalah shutdown state dan “3” keatas adalah operasional penuh dengan semua proses yang esensial dijalankan untuk interaksi user.

 

4.      LINUX RUN LEVEL

Runlevel “3” akan booting dalam mode teks atau console dan “5” akan booting dalam mode gr aphical login.

State pada Runlevel / Halt :

 

0

shutdown (Do NOT set init default to this)

1

Single user mode

 

2

Multiuser, without NFS (The same as 3, if you do not have networking)

 

3

Default text start. Full multiuser

4

unused

 

5

XII

6

Reboot (Do NOT set initdefault to this)

 

5.      AKTIVASI SKRIP INIT

Menambah suatu skrip ke direktory /etc/rc.d/rc#.d/ baik prefik S atau K, menambah skrip ke proses boot atau shutdown. Skrip berjalan dengan urutan numerik. S20abc dijalankan sebelum S30xyz. Keberadaan prosedur boot dan shutdown ini merupakan kekuatan sistem operasi UNIX. Inisialisasi proses dengan urutan tertentu dapat dikoordinasikan untuk proses dependent.  Shutdown dari proses biasanya dibutuhkan untuk program yang kompleks misalnya database.  Proses individual dapatkemunginan dimonitore, shutdown dan start pada sembarang waktu menggunakan skrip tersebut.

 

6.      SKRIP INIT

Skrip init berada pada direktory /etc/rc.d/script-name. Gunakan perintah chkconfig untuk membangkitkan soft link ke direktory yang sebenarnya untuk beberapa run level.

 

7.      CHKCONFIG

Perintah chkconfig membangkitkan dan memutuskan link antara direktori /etc/rc.d/init.d/ dan direktori run level /etc/rc.d/rc [0-6].d/ untuk mengontrol inisialisasi proses boot dan proses shutdown.

 

TUGAS PENDAHULUAN:

Sebagai tugas pendahuluan, jawablah pertanyaan-pertanyaan berikut ini :

1.  Sebutkan inisialisasi proses apa saja yang dilakukan oleh sistem operasi Linux pada saat booting

Jawab:

·         BIOS: Basic Input/Output System merupakan interface level paling bawah yang menghubungkan antara computer dan periperalnya. BIOS melakukan pengecekan integritas memori dan mencari instruksi pada Master Boot Record (MBR) yang terdapat pada floppy drive atau harddisk.

·         MBR menjalankan boot loader. Di 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.

·         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.

·         Setelah itu, tanggung jawab untuk booting diserahkan ke kernel. Setelah itu, kernel akan menampilkan versi dari kernel yang dipergunakan, mengecek status SELinux, mengecek partisi swap, mengecek memory, dan sebagainya.

·         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/sysinit.

·         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 servis yang akan dijalankan misalnya single user, reboot, shutdown, dan sebagainya. Program yang mengatur runlevel ini adalah init yang terletak pada direktori /etc/inittab. Ini adalah file di /etc/inittab.

 

2.  Apa yang dilakukan sistem operasi Linux pada saat booting?

Jawab:

Mounting perangkat-perangkat yang terpasang dan melakukan bebrapa iniialisasi proses-proses yang akan berjalan pada sistem.

 

3.  Apakah   isi   dari   file /etc/inittab. Sebutkan sistem proses yang dapat dimasukkan pada variabel initdefault dan jelaskan maksudnya.

Jawab:

Berisi perintah-perintah untuk memulai sistem. Computer setelah selesai melakukan inisialisasi selanjutnya akan di booting ke run level yang didefinisikan oleh initdefault.

 

4.  Apa yang dimaksud dengan run level pada linux? Sebutkan perbedaan file pada

/etc/rc.d/rc#.d/ yang menggunakan awalan ”S” dan awalan ”K”.

Jawab:

Run level linux adalah proses kelanjutan dari booting linux yang salah satu fungsinya adalah untuk booting untuk masuk dalam mode teks atau GUI. Skrip yang dimulai dengan huruf “S” akan dijalankan selama sistem boot dan kemudian akan berjalan pada background, dan skrip yang berawalan huruf “K” akan dieksekusi pada saat shutdown, sistem ini menyediakan urutan sistem ke state yang berbeda untuk mode aktivasi skrip init.

 

5.  Apa yang dimaksud dengan perintah service dan chkconfig?

Jawab:

Service menjalankan script sistem init dan berjalan sebagai proses yang dapat diprediksi.

Chkconfig adalah perintah untuk membangkitkan soft link ke direktori yang sebenarnya untuk beberapa run level.

 

PERCOBAAN:

Percobaan 1: Linux INIT Process

1.             Program /sbin/init akan dijalankan pada saat booting. Eksekusi program ini berdasarkan file /etc/inittab. Lihatlah isi file /etc/inittab dan perhatikan mode default runlevel pada baris initdefault

# cat /etc/inittab

Analisa:

Proses init tidak dapat dijalankan karena terdapat pesan error bahwa file tidak ditemukan.

 

2.             Berdasarkan runlevel yang dipilih, proses init kemudian mengeksekusi skrip startup yang berada pada sub direktory /etc/rc.d. Skrip yang  digunakan untuk runlevel sampai dengan 6 berada pada sub direktory

/etc/rc.d/rc0.d sampai /etc/rc.d/rc6.d.

# ls -l /etc/rc.d

Analisa:

Proses init tidak dapat dijalankan karena terdapat pesan error bahwa file tidak ditemukan.

 

3.             Setiap nama file pada direktori misalnya /etc/rc.d/rc5.d dimulai dengan huruf “S” merupakan skrip startup sedangkan skrip yang dimulai dengan huruf “K” merupakan skrip shutdown. Angka yang mengikuti "K" atau "S" menandakan urutan skrip yang dijalankan. Contohnya ”kudzu” denga n nilai  ”05” dijalankan sebelum ”wlan” dengan nilai ”09”

# ls /etc/rc.d/rc5.d

Analisa:

Proses init tidak dapat dijalankan karena terdapat pesan error bahwa file tidak ditemukan.

 

Percobaan 2: Menentukan default boot runlevel

1.             Default boot runlevel pada file /etc/inittab diset dengan menggunakan variabel initdefault. Jika diset "3", sistem boot menggunakan antar muka teks pada console VGA; jika diset "5", menggunakan GUI.

Analisa:

Proses init tidak dapat dijalankan karena terdapat pesan error bahwa file tidak ditemukan.

 

2.              Hapus baris initdefault yang tidak diperlukan pada file /etc/inittab. Buatlah baris baru untuk set sistem boot menggunakan console VGA / teks

# vi /etc/inittab

# Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this)

# 1 - Single user mode

# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)

# 3 - Full multiuser mode

# 4 - unused

# 5 - X11

# 6 - reboot (Do NOT set initdefault to this)

#

id:3:initdefault:               # Console Text Mode

#id:5:initdefault:                # Console GUI Mode

Analisa:

Proses init tidak dapat dijalankan karena terdapat pesan error bahwa file tidak ditemukan.

 

3.             Setelah dilakukan perubahan variabel initdefault, lakukan reboot. Perhatikan apakah masuk ke mode teks

# reboot

4.             Lakukan perubahan kembali dari 3 ke 5 dan  lakukan  reboot  sistem.  Ingat,  jangan melakukan setting ke 6 karena sistem akan reboot terus-menerus. Sedangkan setting 0 maka sistem tidak pernah dimulai.

 

Percobaan 3: Menggunakan Console GUI

1.             Kita dapat masuk ke console GUI jika sistem berada pada mode teks. Pertama ubahlah variabel initdefault pada file /etc/inittab dan ubahlah ke mode 3 atau dengan menggunakan perintah init

# init 3

Hasil:



Analisa:

Pertama-tama masuk ke dalam root dengan menggunakan perintah $ sudo su. Lalu ketika perintah init 3 dijalankan, maka akan masuk ke console GUI.

2.             Metode Manual: Jalankan aplikasi X terminal GUI dengan menjalankan perintah startxpada console VGA. Untuk keluar gunakan logout

# startx

Hasil:




Analisa:

Setelah dari console GUI, perintah startx dijalankan lalu secara otomatis akan masuk ke dalam mode manual yang sebelumnya meminta proses authentikasi.

 

3.             Metode Otomatis: Anda dapat menjalankan X terminal GUI setiap kali reboot menggunakan     perintah     init.                                                       Anda harus mengedit variabel initdefault”pada file /etc/inittab seperti percobaan 2 agar setiap booting masuk ke mode GUI. Ubahlah kembali ke mode 5.

# init 5

Hasil:




Analisa:

Setelah dari mode manual, perintah init 5 dijalankan untuk masuk ke tampilan mode otomatis.

Percobaan 4: Menggunakan Virtual Console

1.             Untuk mendapatkan command prompt dapat dilakukan dengan membuka terminal pada Jendela GUI. Default-nya, Linux menjalankan 6 virtual consol atau TTY session yang dijalankan pada console VGA. Hal ini didefinisikan dengan statement mingetty pada file /etc/inittab. Console X terminal GUI membuat virtual console sendiri menggunakan TTY pertama yang tersedia yang tidak dikontrol oleh mingetty. Hal ini menyebabkan GUI berjalan sebagai nomor 7. Perhatikan baris mingetty pada file /etc/ inittab, virtual console nomor berapa yang dikontrol ?

# cat /etc/inittab

 

2.             Cobalah masuk ke virtual console menggunakan <CTRL> <ALT>  <F1>  sampai dengan <F6>.

 

3.             Untuk masuk ke login GUI gunakan <CTL> <ALT> <F7>, hanya jika berada pada run level 5 atau GUI dijalankan setelah ”startx”.

Analisa:

Percobaan ini sama seperti pada percobaan 4 dimana akan masuk ke console GUI, mode manual, dan mode otomatis.

 

Percobaan 5: Shutdown dan rebooting sistem

1.             Perintah init akan mengubah runlevel, untuk shutdown nilainya adalah 0.

# init 0

Hasil:



Analisa:

Pertama-tama masuk ke dalam sistem root lalu jalankan perintah init 0. Setelah perintah init 0 dijalanka, sistem secara otomatis akan melakukan proses shutdown dalam hitungan 0 detik.

 

2.             Perintah shutdown menyebabkan efek yang sama.  Opsi ”–y” untuk mengabaikan prompt pesan dan ”– h” untuk halt sistem. Opsi 0 menunjukkan berapa lama menunggu memulai prosedur, dalam hal ini 0 menit.

# shutdown –hy 0

Hasil:


Analisa:

Setelah perintah dijalankan, maka sistem akan melakukan shutdown dalam hitungan 0 detik.

3.             Anda juga bisa menggunakan perintah init untuk reboot sistem dengan memasukkan runlevel 6

# init 6

Hasil:


Analisa:

Perintah init 6 setelah dijalankan akan melakukan proses restart atau rebooting.

 

4.             Perintah reboot menpunyai efek yang sama, tetapi juga mengirimkan pesan warning ke semua user

# reboot

Hasil:


Analisa:                               

Perintah ini sama seperti di atas, namun bedanya terdapat pesan warning.

 

5.             Reboot juga dapat dilakukan dengan perintah shutdown menggunakan opsi “-r” dan menentukan delay misalnya 10 menit.

# shutdown –ry 10

Hasil:


Analisa:

Perintah ini dilakukan untuk melakukan proses booting dengan menggunakan opsi -r sebagai delay. Sehingga proses booting tidak langsung dilakukan, melainkan sesuai dengan opsi waktunya.

           

Percobaan 6: Berpindah ke mode single user

1.             Beberapa aktifitas membutuhkan sistem untuk log off semua user, aplikasi dan networking sehingga hanya sistem administrator yang mengakses sistem dari console VGA. Alasan lainnya adalah untuk memperbaiki password ”root”.

 

2.             Jika sistem berjalan normal, berpindah ke mode single user dapat dilakukan  dengan perintah init dan memasukkan runlevel 1.

# init 1

Hasil:




Analisa:

Setelah perintah init 1 dijalankan, maka akan masuk ke mode single user. Lalu ketik Ctrl-D untuk melakukan reboot.

 

3.             Perintah diatas tidak memberikan warning ke user dan perintah shutdown tidak mempunyai opsi mode single user. Hal ini akan muncul dengan menjalankan perintah shutdown dengan delay.

# shutdown 1

Hasil:


Analisa:

Perintah pada percobaan ini akan menjadwalkan proses shutdown. Untuk membatalkannya, bisa mengetik perintah shutdown -c.

 

Percobaan 7: Berpindah ke mode single user pada layar Grub

1.             Anda dapat masuk ke mode single user secara langsung setelah menghidupkan  power sistem.

2.             Hidupkan sistem Anda

3.             Jika screen Linux muncul, Anda dapat memilih kernel yang diinstal  pada  sistem. Ketik ”a” untuk ”append”. Maka akan didapatkan prompt untuk menambah opsi boot pada file grub.conf.

grub append> ro root=LABEL=/

4.             Tambahkan “1” pada akhir string

grub append> ro root=LABEL=/1

5.             Tekan Enter. Sistem akan melanjutkan booting, tetapi akan menuju ke promp root # tanpa menanyakan username dan password

 

Percobaan 8: Berpindah ke default runlevel dari mode single user

1.      Perintah “exit” akan menyebabkan sistem keluar dari runlevel 1 dan mengubah  ke default runlevel untuk sistem. Anda juga dapat menggunakan perintah init (misalnya “init 3” dan “init 5”)

bash-2.05b# exit

 

Percobaan 9: Memperbaiki password root

1.      Kadangkala anda kehilangan atau lupa pada password root, atau sistem administrator sebelumnya tidak memberi password kepada Anda

2.      Masuk ke console VGA dan tekan <CTRL> <ALT> <DEL>. Sistem akan shutdown

3.      Reboot sistem dan masuk ke mode single user

4.      Setelah masuk ke command prompt, ubahlah password root. Mode single user mengasumsikan orang pada consol sebagai “root”, sehingga anda tidak perlu menentukan nama user “root”

5.      Masuk ke default runlevel dengan menggunakan perintah “exit”.

Hasil:


Analisa:

Percobaan diatas digunakan untuk mengubah password yang dimana sebelumnya kita harus masuk terlebih dahulu sebagai root.

 

Percobaan 10: Menggunakan perintah chkconfig

1.             Perintah chkconfig digunakan untuk melihat aplikasi mana yang dimulai pada setiap runlevel. Opsi “—list” untuk melihat daftar paket pada /etc/init.d  dan runlevel yang ”on” atau ”off”

# chkconfig –list

 

2.             Anda dapat menggunakan chkconfig untuk mengubah runlevel untuk paket tertentu. Misalnya Sendmail akan dimulai pada startup runlevel 3 atau 5.  Ubahlah Sendmail tidak dimulai pada saat boot.

 

3.             Perintah chkconfig dapat digunakan dengan grep untuk menentukan run level dimana Sendmail akan berjalan.    Disini terlihat berjalan pada level 3 dan    5.

# chkconfig –list | grep mail

 

4.             Perintah chkconfig dengan opsi “—level” mengindikasikan bahwa beberapa aksi dikerjakan pada runlevel yang dimasukkan seba gai nilai.  Argumen pertama pada perintah adalah paket dan argumen kedua apakah “on” atau “off”. Dalam hal ini Anda ingin Sendmail tidak dimulai jika masuk ke runlevel 3 dan 5

# chkconfig –level 35 sendmail off

 

5.             Hal tersebut juga dapat dilakukan tanpa opsi “—level”, otomatis chkconfig akan mengubah runlevel 3 dan 5

# chkconfig sendmail off

 

6.             Anda juga dapat shutdown permanen dan stop dari running saat ini.

# service sendmail stop

 

7.             Anda dapat menggunakan chkconfig untuk memeriksa kembali pekerjaan Anda

# chkconfig –list | grep mail

Hasil:


Analisa:

Semua perintah chkconfig ketika dijalankan terdapat pesan error bahwa file/direktori tidak ditemukan.

 

LATIHAN:

1.  Pada percobaan 1 lihatlah urutan eksekusi pada saat startup dan shutdown pada runlevel 5 untuk file:

a.        netfs

b.       pcmcia

c.        nfslock

d.       kudzu

e.        portmap

f.          wlan

g.       isdn

h.       ne twork

i.           syslog

j.           keytable

Hasil:


Analisa:

Setelah perintah cat /etc/inittab dijalankan, ternyata terdapat pesan error bahwa file tersebut tidak ada.

 

2.  Laporkan hasil perubahan password pada mode single user pada percobaan 9. Gunakan password root “redhat” (jangan lainnya!).

Hasil:


Analisis:

Pada percobaan ini, untuk mengganti perubahan password pada mode single user, terlebih dahulu masuk ke dalam root dengan perintah $ sudo su. Setelah itu muncul pesan untuk memasukan password baru dan pesan kedua untuk memasukan kembali passwordnya.

 

3.  Apakah kegunaan menggunakan perintah service? Berikan contoh.

Jawab:

Service adalah file ASCII yang menyediakan pemetaan antara nama tekstual untuk layanan internet, yang mendasari nomor port yang ditugaskan dan jenis protocol. Setiap program jaringan harus melihat ke dalam file ini untuk mendapatkan nomor port (dan protocol) untuk layanan. Misalnya seperti untuk dns, mysql, dan lainnya. Contohnya:


 

4.  Apa kegunaan menggunakan perintah chkconfig? Berikan contoh.

Jawab:

chkconfig menyediakan alat baris perintah sederhana untuk menjaga /etc/ rc [0-6] di hirarki direktori dengan membebaskan administrator sistem tugas secara langsung memanipulasi berbagai link simbolik dalam direktori tersebut. chkconfig memiliki lima fungsi yang berbeda,yaitu menambahkan layanan baru untuk manajemen, menghapus layanan dari manajemen, daftar informasi startup saat ini untuk layanan, mengubah informasi startup untuk layanan, dan memeriksa keadaan startup layanan tertentu.

 

KESIMPULAN:

Berdasarkan percobaan ini, dapat diambil kesimpulan bahwa proses booting pada linux terdiri dari serangkaian urutan, yaitu BIOS, MBR, LILO/GRUB dan setelah itu tanggung jawab booting diserahkan ke kernel. Selain itu untuk mengganti password di Linux juga dapat dilakukan pada mode otomatis dan masuk ke dalam sistem root.

 

DAFTAR PUSTAKA:

Naki, I. (2013, May 6). Laporan 14 Sistem Operasi. Retrieved from Slideshare: https://www.slideshare.net/ibrahimnaki/os2013-lap14ibrahim-naki

 

 

Komentar

Postingan populer dari blog ini

Praktikum 8. Sistem File

Praktikum 11. Manajemen User dan Group

Praktikum 7. Unix System Call dan Manajemen Memory