É parte indispesável dos conhecimentos de um administrador de Sistema Gnu/Linux entender como a máquina gerencia o processo de Boot/Inicializaçao.
Vou representar aqui em alguns passos como o processo ocorre:
1 Passo: Hardware/firmware: O BIOS ou Firmware lê o MBR (Master Boot Record) no harddisk ou outro boot device ( por exemplo, CD, floppy, netboot, etc.).
2 Passo: Boot Loader Inicia: Sistemas x86 normalmente utilizam LILO ou GRUB. Sistemas antigos podem se utilizar do loadlin atravez de uma partição DOS intermediaria.
3 Passo: O Kernel é carregado.
4 Passo: O filesystem raiz (root filesystem) é montado: Em alguns casos um ramdisk image é necessário antes de montar o root filesystem para que o sistema possa ter acesso a alguns drivers especiais.
5 Passo: O processo init é iniciado: O pai dos demais processos e o que recebe o numero 1 para o PID.
6 Passo: O sistema lê o inittab: A linha mais importante é a que determina o sistema de inicialização do sistema. A linha é similar a:
id:5:initdefault:
7 Passo: Iniciação de sistema Runlevel-neutra: Geralmente há algumas ações da iniciação que são executadas não obstante o runlevel. Estas etapas são indicadas em /etc/inittab com uma linha como:
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
Em alguns sistemas de Linux (na maior parte sistemas baseados no Debian), você verá algo mais como:
si::sysinit:/etc/init.d/rcS
8 Passo: Inicio do Runlevel-Específico: Você pode realmente definir quantas açoes quiser para cada runlevel, e cada ação pode pertence a um ou mais runlevels. Em regra geral, /etc/inittab conterá algumas linhas como:
l0: 0: espera: /etc/rc.d/rc 0
#…
l5: 5: espera: /etc/rc.d/rc 5
l6: 6: espera: /etc/rc.d/rc 6
Por sua vez, o script /etc/rc.d/rc funcionará todas os arquivos combinadas pelo teste padrão /etc/rc $1.d/[KkSs]?? *. Por exemplo, na amostra o sistema descreveu que começa pelo runlevel 5, nós funcionaria (em ordem):
/etc/rc5.d/K15postgresql
/etc/rc5.d/S01switchprofile
/etc/rc5.d/S05harddrake
…
/etc/rc5.d/S55sshd
…
/etc/rc5.d/S99linuxconf
/etc/rc5.d/S99local
Os processos iniciado com K ou k são kill Scripts e representam processos que serão finalizados ao sistema iniciar ou ao finalizar. Os processos iniciados por S ou s sao start scripts e representam os Scripts que serão iniciados no boot do Sistema.
9 Passo: Login no Terminal: Nosso bom amigo /etc/inittab lança programs getty em um ou mais terminais virtuais e faz assim para diversos runlevels diferentes. Aqueles que são configurados com linhas como:
# Run gettys in standard runlevels
1:2345: respawn: /sbin/mingetty tty1
2:2345: respawn: /sbin/mingetty tty2
3:2345: respawn: /sbin/mingetty tty3
4:2345: respawn: /sbin/mingetty tty4
5:2345: respawn: /sbin/mingetty tty5
6:2345: respawn: /sbin/mingetty tty6
O primeiro número nos lembra do terminal virtual onde rodaráo getty; a proxima coluna é os diversos runlevels que iniciarão os gettys.
Aqui ocorre o login no terminal tty com seu login e senha e tem acesso ao Shell.
Os processo 1 até 4 ocorrem no espaço do Kernel e os demais já ocorrem no espaço do usuário.
Abraços
Últimos Comentários