Descreva em detalhes o processo de inicialização de um sistema Linux

14

Estou preparando um documento em detalhes mostrando a luz na sequência de inicialização do Linux, pressionando o botão Power-on do host na aparência do prompt de login.

Seria ótimo se pudéssemos combinar e agrupar as respostas certas aqui em um único local de referência. Inclua todos os detalhes que possam ser observados durante a inicialização. Quando o documento estiver completo a partir de todos os pontos, também postarei os detalhes do documento aqui e atualizarei o link na pergunta.

Por favor, considere todos os cenários possíveis, como inicializar a partir do disco, inicializar a partir do usb, inicializar a partir da rede em um cliente sem disco, onde o rootfs (/) está na rede.

Nikhil Mulley
fonte
3
A julgar por isso (incluindo referências) e por isso , você propõe um projeto bastante grande ...
sr_
4
Isso parece uma pergunta de lição de casa / tese para mais alguém?
Shadur
1
Não deveria ser sinalizado como wiki da comunidade?
usuário desconhecido
4
Eu acho que isso é amplo demais para uma pergunta sobre SE, existem grandes variações entre distribuições e configurações.
Gilles 'SO- stop be evil'
1
você pode postar o documento preparado por você
Abhishek

Respostas:

7

Você deseja inicializar a sequência do Linux ou apenas a sequência de inicialização do PC ... porque não há diferença entre inicializar o Linux a partir de usb / cdrom / hdd ... O Linux está sempre inicializando a partir do MBR onde o gerenciador de inicialização está ...

Processo de inicialização do Linux:

  1. À medida que a energia aumenta, o BIOS recebe controle
  2. O BIOS executa autotestes, geralmente incluindo testes de memória superficial.
  3. O BIOS carrega o primeiro setor do disco a ser usado para inicializar e transfere o controle para ele.
  4. O código MBR varia. Uma versão acorrentará ao código no primeiro setor da partição de inicialização (Windows), outra carregará um gerenciador de inicialização. A inicialização do Windows procede do código e das informações na partição de inicialização.
  5. bootloader escolhe a localização e versão do kernel
  6. O gerenciador de inicialização prepara o kernel e a imagem initrd na memória, transfere o controle para o kernel
  7. carregando módulos do kernel
  8. descobrindo hardware e carregando módulos adicionais do kernel para suportá-lo
  9. procurando discos
  10. Montagem de E / S de / partição para que possa ser verificada e reparada
  11. spawn do processo init
  12. / etc / inittab lê e executa
  13. montando todos os FSes do / etc / fstab
  14. níveis de execução em execução (com base no nível de execução padrão em / etc / inittab) ou outro método init, como systemd ou upstart
  15. rc.local
  16. prompt de login
Sebastian Szary
fonte
Obrigado @Sebastian, essa foi uma boa lista. Estou procurando etapas detalhadas para o exemplo 1: o que carrega as informações do mbr, antes disso, como as instruções de publicação e bios estão fluindo; 2. por que montar / particionar r / o e, em seguida, ler / gravar montar / partição .. qual é o processo 0 em todo esse processo .. mas obrigado pela resposta.
Nikhil Mulley
@ Nikhil em relação ao processo 0 ... não existe esse processo, após o carregamento do kernel Você possui o processo 1, que é o processo init. Quanto ao restante dos pontos: 1. verifique ibm.com/developerworks/library/l-linuxboot/index.html 2. porque primeiro ele precisa ser verificado nos arquivos, então você pode começar a escrever nele ... é por motivos de segurança. ..
Sebastian Szary
Não há MBR em disquetes ou cdroms. O processo de inicialização do cdroms envolve um arquivo de catálogo que descreve uma ou mais imagens multisetoriais que a BIOS pode optar por carregar e executar.
Psusi
E se os módulos do kernel estiverem em um ext3sistema de arquivos e o ext3módulo do kernel ainda não estiver carregado? Além do mais, e se o próprio kernel estiver em um sistema de arquivos que o gerenciador de inicialização não reconhece? Como as seguintes coisas carregado em sequência, carregamento kernel, carga bootloader, montagem /bootdiretório, leitura /etc/fstabde arquivos, etc.
yegle
3

Tente instalar e usar o bootchart .

Alexander
fonte
1
agradecimentos para o ponteiro, estou realmente olhando para apresentar um documento de fluxo de visualização do que acontece durante a inicialização e que tipo de tomada de decisão está envolvido em.
Nikhil Mulley
1
Obrigado @Alexander, instalei-o no meu fedora e ele fornece png muito detalhado #
Abhishek