Entendendo o processo de boot
Uma das grandes vantagens de se utilizar o sistema GNU/Linux é sua flexibilidade de personalização, possibilitando configurar a máquina o mais dedicada possível para atender a um determinado cenário. Este documento tem como objetivo descrever os diversos passos realizados desde o momento do power on até o momento do prompt, abordando cada passo com o devido respeito.
O boot
Quando ligamos nosso computador, a BIOS executa uma série de operações antes de iniciar o boot do sistema operacional, o que foge do escopo deste documento, mas para gerar uma referencia completa, abaixo está a seqüencia do power on:
O nosso estudo inicia quando o kernel executa o init, que é o primeiro processo a ser executado e tem o PID igual a um, e que não pode ser "killado". O init então lê o arquivo /etc/inittab, onde estão definidos os primeiros parâmetros a serem configurados, como por exemplo qual o runlevel, quais scripts devem ser executados por quais runlevels, quantos terminais virtuais nos teremos disponíveis em nossa máquina, etc.
- Computador sendo ligado;
- BIOS executando várias operações;
- BIOS lê o setor de boot;
- Executa o programa encontrado (LILO, por exemplo);
- Carrega o kernel;
- O kernel executa o init (PID=1);
- O init lê o arquivo /etc/inittab;
- O init executa os scripts de acordo com o inittab;
- Sistema pronto para uso.
O nosso estudo inicia quando o kernel executa o init, que é o primeiro processo a ser executado e tem o PID igual a um, e que não pode ser "killado". O init então lê o arquivo /etc/inittab, onde estão definidos os primeiros parâmetros a serem configurados, como por exemplo qual o runlevel, quais scripts devem ser executados por quais runlevels, quantos terminais virtuais nos teremos disponíveis em nossa máquina, etc.
Parabens!