Padepokan/Init System

Dari IgosCenter

Langsung ke: Navigasi, Cari

[Linux Admin TOT IGOS BPPT]
Ketika menjalankan komputer pernahkah anda sejenak memperhatikan proses perjalanan komputer mulai dari tombol power CPU dihidupkan sampai dengan munculnya tampilan login ? Tidak ada salahnya anda memperhatikan rangkaian proses tersebut guna melihat kemungkinan-kemungkinan jika terjadi kesalahan sistem.
Secara sederhana rangkain proses yang dimulai dari tombol power CPU sampai dengan mendapatkan tampilan login sistem operasi adalah sebagai berikut :

Daftar isi

Tahap 1 Power On Self Test (POST)

POST adalah rangkaian mengecekan terhadap perangkat keras komputer itu sendiri. Pada proses ini, BIOS (Basic Input Output System) merupakan interfarce yang menghubungkan komputer dengen periperal lainnnya.

Tahap 2 Loader

Setelah proses POST tidak terjadi masalah, komputer akan mencari image sistem operasi yang terdapat pada media storage. Biasanya secara berurutan di mulai dari floppy, cdrom, harddisk bahkan kartu jaringan. Tergantung dari settingan BIOS komputer.

Tahap 3 Master Boot Record (MBR)

Master Boot Record (MBR) merupakan sektor pertama pada harddisk yang akan di baca, biasanya pada MBR di install Loader yaitu sebagai pemangil kernel. Pada Linux loader dibagi atas dua kelompok yaitu LILO dan GRUB. Loader GRUB dapat memilih sistem operasi yang tersedia baik Linux dan Windows.

Tahap 4 Kernel

Setelah memilih sistem yang tersedia misalnya Linux maka kernel akan menjalankan sistem operasi Linux serta melakukan inialisasi perangkat keras komputer

Pada tahap ini Boot Loader bisa memilih Kernel yang akan dijalankannya. Pemilihan sistem operasi dilakukan di Boot Manager, bacalah http://saung.igoscenter.org/Padepokan/Boot_Manager . Kernel ini ada di /boot , cara periksanya adalah

cd /boot
ls

/initrd

/initrd menyediakan kemampuan untuk me-load oleh RAM disk boot loader. RAM disk ini kemudian dapat di-mount sebagai root file sistem dan program dapat dijalankan dari itu. Setelah itu, baru root file system dapat dipasang dari perangkat yang berbeda. Itu root sebelumnya (dari initrd) kemudian pindah ke sebuah direktori dan dapat kemudian lepas.

initrd terutama dirancang untuk memungkinkan sistem startup terjadi dalam dua tahap, di mana kernel datang dengan mengatur harga minimum dari dikompilasi-in driver, dan di mana modul tambahan dimuat dari initrd.

Operasi

Bila menggunakan initrd, boot sistem biasanya sebagai berikut:

  1. beban kernel boot loader dan RAM disk awal
  2. kernel initrd mengkonversi ke disk "normal" RAM dan membebaskan memori yang digunakan oleh initrd
  3. initrd-mount read-write sebagai root
  4. linuxrc dijalankan (ini dapat setiap executable yang valid, termasuk skrip shell; dijalankan dengan uid 0 dan dapat melakukan pada dasarnya semua init dapat melakukan)
  5. linuxrc gunung "sebenarnya" root file system
  6. tempat linuxrc sistem berkas root pada direktori root menggunakan sistem pivot_root panggilan
  7. urutan boot biasa (misalnya permintaan dari / sbin / init) adalah dilakukan pada sistem berkas root
  8. sistem berkas initrd akan dihapus

Catatan bahwa mengubah direktori root tidak melibatkan unmounting itu. Oleh karena itu mungkin untuk meninggalkan proses yang berjalan pada initrd selama prosedur tersebut. Juga mencatat bahwa sistem file mount dalam initrd terus dapat diakses.

Penggunaan skenario

Motivasi utama untuk melaksanakan initrd adalah untuk memungkinkan untuk konfigurasi kernel modular pada instalasi system. Prosedur yang akan bekerja sebagai berikut:

  1. sistem boot dari floppy atau media lainnya dengan kernel minimal (Misalnya dukungan untuk disk RAM, initrd, a.out, dan Ext2 FS) dan beban initrd
  2. linuxrc menentukan apa yang dibutuhkan untuk
    1. mount "sebenarnya" root FS (yaitu jenis perangkat, device driver, file sistem) dan
    2. distribusi media (misalnya CD-ROM, jaringan, tape, ...). Hal ini dapat dilakukan dengan meminta user, dengan auto-menyelidik, atau dengan menggunakan pendekatan hibrida.
  3. beban linuxrc modul kernel yang diperlukan
  4. linuxrc menciptakan dan Mempopulai sistem file root (ini tidak harus sistem yang sangat berguna belum)
  5. linuxrc memanggil pivot_root untuk mengubah sistem file root dan eksekutif - melalui chroot - sebuah program yang terus instalasi
  6. boot loader diinstal
  7. boot loader dikonfigurasi untuk memuat initrd dengan himpunan modul yang digunakan untuk membuka sistem (misalnya / initrd dapat akan diubah, lalu unmount, dan akhirnya, gambar ditulis dari / dev/ram0 atau / dev/rd/0 ke file)
  8. sekarang sistem bootable dan tambahan tugas instalasi dapat dilakukan

Peran utama dari initrd di sini adalah untuk kembali menggunakan konfigurasi data selama operasi sistem normal tanpa memerlukan penggunaan kembung "generik" kernel atau kompilasi ulang atau re-menghubungkan kernel.

Skenario kedua adalah untuk instalasi mana berjalan pada sistem Linux dengan konfigurasi hardware yang berbeda dalam satu administrasi domain. Dalam kasus seperti ini, diinginkan untuk menghasilkan menetapkan hanya kecil kernel (idealnya hanya satu) dan untuk menjaga sistem-bagian tertentu informasi konfigurasi sekecil mungkin. Dalam hal ini, initrd umum bisa dihasilkan dengan semua modul yang diperlukan. Kemudian, hanya linuxrc atau file dibaca oleh itu harus berbeda.

Skenario ketiga adalah pemulihan disk lebih nyaman, karena informasi seperti lokasi partisi root FS tidak memiliki yang akan diberikan pada saat boot, tetapi sistem yang dimuat dari initrd dapat memanggil dialog yang user-friendly dan juga dapat melakukan beberapa kewarasan cek (atau bahkan beberapa bentuk deteksi otomatis).

Akhir kata, CD-ROM distributor dapat menggunakannya untuk instalasi yang lebih baik dari CD, misalnya dengan menggunakan sebuah boot floppy dan bootstrap disk RAM yang lebih besar melalui initrd dari CD, atau dengan boot loader seperti melalui LOADLIN atau langsung dari CD-ROM, dan loading RAM disk dari CD tanpa membutuhkan disket.

Tahap 5 Init

Init adalah program yang dijalankan setelah level kernel, pada proses ini program ini akan mengaktifkan sistem operasi dan mengaktifkan service-service sistem operasi. Selain itu juga sistem mengatur level sistem operasi bekerja. Secara default level sistem di atur ke grafis namum anda dapat meng-set ke mode text. File yang mengatur level komputer adalah /etc/inittab .

Kebetulan, salah satu masalah umum yang muncul dengan sistem, baru, atau yang baru diperbaharui Linux adalah bahwa kernel tidak dapat menemukan init. Sebuah pesan tersembunyi disajikan, dengan kata-kata kernel panic - tidak syncing. Penyebab biasanya adalah kelalaian root=parameter ketika Anda set-up boot-loader. Kernel juga mengeluh bahwa seseorang mencoba membunuh init, ketika akan lebih akurat untuk mengatakan bahwa init tidak bisa memulai di tempat pertama. (Ingat bagaimana aku mengatakan bahwa "init tidak diperbolehkan untuk mati?") [1]

Level Init

Level yang berjalan pada program ini adalah [2] :

Level Keterangan
0 mengarahkan komputer untuk shutdown (perintah halt atau init 0)

Hal ini penting untuk mengikuti prosedur yang benar ketika Anda mematikan sistem Linux. Jika Anda gagal melakukannya, filesystem Anda mungkin akan menjadi sampah dan file yang mungkin akan menjadi orak-arik. Hal ini karena Linux memiliki cache disk yang tidak akan menulis hal-hal ke disk sekaligus, tetapi hanya pada interval. Hal ini sangat meningkatkan kinerja tetapi juga berarti bahwa jika Anda hanya mematikan daya pada kehendak cache dapat memegang banyak data dan bahwa apa yang di disk mungkin bukan filesystem penuh kerja (karena hanya beberapa hal yang telah ditulis ke disk).

Alasan lain terhadap hanya membalik saklar daya adalah bahwa dalam sistem multi-tasking akan ada banyak hal yang terjadi di latar belakang, dan menutup daya dapat cukup bencana. Dengan menggunakan shutdown urutan yang tepat, Anda memastikan bahwa semua proses latar belakang dapat menyimpan data mereka.

Perintah untuk benar mematikan sistem Linux adalah shutdown. Hal ini biasanya digunakan dalam salah satu dari dua cara.

1 level single mode or text mode (perintah init 1)

Perintah shutdown juga dapat digunakan untuk membawa sistem ke mode single user, di mana tidak ada yang bisa login, tapi root dapat menggunakan konsol. Hal ini berguna untuk tugas-tugas administrasi sistem yang tidak dapat dilakukan saat sistem berjalan normal.

2 level multiuser tanpa dukungan jaringan (perintah init 2)
3 level multiuser dengan dukungan jaringan namum tanpa tampilan grafis (perintah init 3)
4 tidak digunakan, sumber lain mengatakan bahwa level ini multi boot (perintah init 4)
5 level multiuser, dukungan jaringan dan tampilan grafis (perintah init 5)
6 mengarahkan komputer untuk restart komputer (perintah reboot atau init 6)

Reboot berarti sistem boot lagi. Ini bisa dicapai dengan terlebih dahulu mematikannya sama sekali, sambil matikan, dan kemudian diaktifkan kembali. Sebuah cara sederhana adalah meminta shutdown untuk reboot sistem, bukan hanya menghentikan itu. Hal ini dilakukan dengan menggunakan r-opsi untuk shutdown, misalnya, dengan memberikan perintah shutdown-r sekarang.

Kebanyakan sistem Linux menjalankan shutdown-r sekarang ketika ctrl-alt-del ditekan pada keyboard. Ini reboot sistem. Aksi di ctrl-alt-del dapat dikonfigurasi, tetapi, dan mungkin lebih baik untuk memungkinkan beberapa penundaan sebelum reboot pada mesin multiuser. Sistem yang secara fisik diakses oleh siapapun bahkan mungkin dikonfigurasi untuk melakukan apa-apa ketika ctrl-alt-del ditekan.

directory /etc/init.d/

Directoty ini berisi aplikasi-aplikasi yang akan berjalan ketika komputer dihidupkan.

skrip rc.local

Semua distribusi sealin Debian dan turunannya, mempunyai skrip rc.local berisi aplikasi yang ditambahkan secara custom, dan berjalan saat inisiasi. dalam keaadaan default file ini kosong (hanya ada komentar).

[3]Dalam banyak distribusi Anda dapat menambahkan perintah untuk menjalankan program tertentu pada akhir proses boot setelah semua layanan sistem telah dimulai. Untuk tujuan ini berbagai distribusi menggunakan berbagai metode. Misalnya dalam distribusi berbasis Redhat kita dapat menambahkan script kita sendiri atau program ke dalam file / etc / rc.d / rc.local, namun tidak ada file seperti pada sistem berbasis Debian. Berikut adalah cara untuk mencapai hal yang sama dengan cara debian:

  • buat file /etc/init.d/local dg cara
sudo mkdir /etc/init.d/local
sudo chmod +x /etc/init.d/local
sudo nano /etc/init.d/local
  • di file ini semua skrip dimulai dengan:
#!/bin/sh
  • tulis perintah terminal Bash di /etc/init.d/local
  • update-rc.d local
sudo update-rc.d local defaults 80

skrip /etc/initab

Jika Anda memeriksa / etc / inittab, Anda akan melihat bahwa sebagian besar terdiri dari spesifikasi untuk menjalankan program tertentu, baik di sistem startup dan di runlevel tertentu. Setiap skrip yang namanya dimulai dengan huruf "S" akan dijalankan, dalam rangka naik nama, dan dengan demikian, init akan mulai semua subsistem, atau daemon, yang membentuk apa yang kita anggap sebagai "yang lengkap menjalankan sistem Linux. "

Disk Mounting

  • skrip /etc/fstab
  • swap

Tahap 6 Login

Tampilan login adalah rangkain proses terakhir setelah proses init.

Console mode (init 2/3)

  • tty
  • Alt-F1 sampai Alt-F6

Grapics mode (init4/5)

  • login manager (gdm/kdm)
  • pengaturan

Kontributor: Estiyand

(c) Igos Center Bandung, 2009