Descrivere in dettaglio il processo di avvio di un sistema Linux


14

Sto preparando un documento in dettaglio che mostra la luce sulla sequenza di avvio di Linux dalla pressione del pulsante di accensione dell'host all'aspetto del prompt di accesso.

Sarebbe bello se potessimo combinare e raccogliere le risposte giuste qui in un unico punto di riferimento. Si prega di includere tutti i dettagli che è possibile notare durante l'avvio. Una volta che il documento sarà completo da tutti i punti, posterò anche qui i dettagli del documento e aggiornerò il link nella domanda.

Si prega di considerare tutti i possibili scenari come l'avvio da disco, l'avvio da USB, l'avvio dalla rete su un client senza disco in cui rootfs (/) è sulla rete.


3
A giudicare da questo (compresi i riferimenti) e questo , proponi un progetto piuttosto vasto ...
sr_

4
Ti sembra una domanda da fare / tesi per chiunque altro?
Shadur,

1
Non dovrebbe quindi essere segnalato come community-wiki?
utente sconosciuto

4
Penso che questo sia troppo vasto per una domanda su SE, ci sono enormi variazioni tra distribuzioni e configurazioni.
Gilles 'SO- smetti di essere malvagio' il

1
puoi per favore pubblicare il documento da te preparato
Abhishek,

Risposte:


7

Vuoi una sequenza di avvio di Linux o solo una sequenza di avvio per PC ... perché non c'è differenza tra l'avvio di Linux da usb / cdrom / hdd ... Linux si avvia sempre da MBR dove si trova il bootloader ...

Processo di avvio di Linux:

  1. All'accensione, al BIOS viene dato il controllo
  2. Il BIOS esegue gli autotest, di solito inclusi i test di memoria di tipo rapido.
  3. Il BIOS carica quindi il primo settore del disco da utilizzare per l'avvio e trasferisce il controllo su di esso.
  4. Il codice MBR varia. Una versione verrà concatenata al codice nel primo settore della partizione di avvio (Windows), un'altra caricherà un bootloader. L'avvio di Windows procede dal codice e dalle informazioni nella partizione di avvio.
  5. bootloader sceglie la posizione e la versione del kernel
  6. bootloader prepara l'immagine del kernel e initrd in memoria, trasferisce il controllo al kernel
  7. caricamento dei moduli del kernel
  8. scoprire l'hardware e caricare moduli del kernel aggiuntivi per supportarlo
  9. alla ricerca di dischi
  10. R / O mount di / partition in modo che possa essere potenzialmente controllato e riparato
  11. spawn del processo di init
  12. / etc / inittab letto ed eseguito
  13. montaggio di tutte le FS da / etc / fstab
  14. runlevel in esecuzione (basato sul runlevel predefinito in / etc / inittab) o un altro metodo init come systemd o upstart
  15. rc.local
  16. prompt di accesso

Grazie @Sebastian, è stata una buona lista. Sto cercando passaggi dettagliati per esempio 1: cosa carica le informazioni mbr, prima che scorrano le istruzioni post e bios; 2. perché r / o mount di / partition e poi ancora leggere / scrivere mount / partition .. qual è il processo 0 in tutto questo processo .. ma grazie per la risposta.
Nikhil Mulley,

@Nikhil riguardo al processo 0 ... non esiste un processo simile, dopo il caricamento del kernel Hai il processo 1, che è il processo init. Per quanto riguarda il resto dei punti: 1. controllare ibm.com/developerworks/library/l-linuxboot/index.html 2. perché prima è necessario controllare i file, quindi è possibile iniziare a scrivere su di esso ... è piuttosto per motivi di sicurezza. ..
Sebastian Szary il

Non ci sono MBR su floppy o cddrom. Il processo di avvio per cdroms comporta un file di catalogo che descrive una o più immagini multisettoriali che il BIOS può scegliere di caricare ed eseguire.
psusi,

Cosa succede se i moduli del kernel si trovano su un ext3file system e il ext3modulo del kernel non è ancora caricato? Inoltre, cosa succede se il kernel stesso si trova su un file system che il bootloader non riconosce? Come vengono caricate le seguenti cose in sequenza, caricamento kernel, caricamento bootloader, montaggio della /bootdirectory, lettura del /etc/fstabfile, ecc.
yegle

3

Prova a installare e utilizzare il diagramma di avvio .


1
grazie per il puntatore, in realtà sto cercando di presentare un documento di flusso di visualizzazione di ciò che accade durante l'avvio e in quale tipo di processo decisionale è coinvolto.
Nikhil Mulley,

1
grazie @Alexander l'ho installato sul mio fedora e fornisce un png molto dettagliato
Abhishek
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.