Jelaskan secara rinci proses boot sistem Linux

14

Saya sedang menyiapkan dokumen yang menunjukkan cahaya pada urutan boot Linux langsung dari menekan tombol Power-on host ke tampilan prompt login.

Alangkah baiknya jika kita bisa menggabungkan dan menyusun jawaban yang benar di sini menjadi satu tempat referensi. Harap sertakan setiap detail yang layak untuk dicatat selama startup. Setelah dokumen selesai dari semua poin, saya juga akan memposting rincian dokumen di sini dan memperbarui tautan dalam pertanyaan.

Harap pertimbangkan semua skenario yang mungkin seperti boot dari disk, boot dari usb, boot dari jaringan pada klien tanpa disk di mana rootfs (/) ada di jaringan.

Nikhil Mulley
sumber
3
Menilai dari ini (termasuk referensi) dan ini , Anda mengusulkan proyek yang cukup besar ...
sr_
4
Apakah ini terasa seperti pertanyaan pekerjaan rumah / tesis untuk orang lain?
Shadur
1
Tidakkah seharusnya itu ditandai sebagai komunitas-wiki?
pengguna tidak diketahui
4
Saya pikir ini terlalu luas untuk pertanyaan tentang SE, ada variasi besar antara distribusi dan konfigurasi.
Gilles 'SANGAT berhenti menjadi jahat'
1
dapatkah Anda memposting dokumen yang disiapkan oleh Anda
Abhishek

Jawaban:

7

Anda ingin mem-boot urutan Linux atau hanya urutan booting PC ... karena tidak ada perbedaan antara mem-boot Linux dari usb / cdrom / hdd ... Linux selalu mem-boot dari MBR di mana bootloader berada ...

Proses boot Linux:

  1. Ketika daya muncul BIOS diberikan kontrol
  2. BIOS menjalankan tes mandiri, biasanya termasuk tes memori sepintas.
  3. BIOS kemudian memuat sektor pertama dari disk yang akan digunakan untuk mem-boot dan mentransfer kontrol ke sana.
  4. Kode MBR bervariasi. Satu versi akan berantai ke kode di sektor pertama partisi boot (Windows), yang lain akan memuat bootloader. Boot Windows berasal dari kode dan informasi di partisi boot.
  5. bootloader memilih lokasi dan versi kernel
  6. bootloader menyiapkan kernel dan initrd image di memori, mentransfer kontrol ke kernel
  7. memuat modul kernel
  8. menemukan perangkat keras dan memuat modul kernel tambahan untuk mendukungnya
  9. mencari disk
  10. Pemasangan / partisi R / O sehingga berpotensi diperiksa dan diperbaiki
  11. proses init menelurkan
  12. / etc / inittab membaca dan mengeksekusi
  13. memasang semua FSe dari / etc / fstab
  14. runlevels berjalan (berdasarkan runlevel default di / etc / inittab) atau metode init lain seperti systemd atau pemula
  15. rc.local
  16. prompt masuk
Sebastian Szary
sumber
Terima kasih @Sebastian, itu daftar yang bagus. Saya mencari langkah-langkah rinci misalnya 1: apa yang memuat info mbr, sebelum itu bagaimana posting dan instruksi bios mengalir; 2. mengapa r / o mount dari / partisi dan kemudian membaca / menulis mount / partisi .. apa proses 0 dalam seluruh proses ini .. tapi terima kasih atas jawabannya.
Nikhil Mulley
@ Nikhil mengenai proses 0 ... tidak ada proses seperti itu, setelah kernel memuat Anda memiliki proses 1, yang merupakan proses init. Mengenai sisa poin: 1. periksa ibm.com/developerworks/library/l-linuxboot/index.html 2. karena pertama-tama perlu diperiksa file, maka Anda dapat mulai menulis di atasnya ... itu bukan karena alasan keamanan. ..
Sebastian Szary
Tidak ada MBR pada disket atau cdrom. Proses boot untuk cdroms melibatkan file katalog yang menggambarkan satu atau lebih gambar multi-sektor yang dapat dipilih dan dijalankan oleh bios.
psusi
Bagaimana jika modul kernel ada di ext3sistem file dan ext3modul kernel belum dimuat? Terlebih lagi, bagaimana jika kernel itu sendiri ada di sistem file yang tidak dikenal bootloader? Bagaimana hal-hal berikut dimuat secara berurutan, memuat kernel, memuat bootloader, memasang /bootdirektori, membaca /etc/fstabfile, dll.
yegle
3

Coba pasang dan gunakan bootchart .

Alexander
sumber
1
terima kasih untuk penunjuknya, saya sebenarnya ingin mempresentasikan dokumen aliran memvisualisasikan apa yang terjadi selama boot dan seperti apa pengambilan keputusan yang terlibat.
Nikhil Mulley
1
terima kasih @Alexander saya menginstalnya di fedora saya dan itu memberikan png sangat rinci
Abhishek