Publicado por: mdantasjr | 21/12/2007

Boot com Linux


       O processo de boot/init do Linux

Processo de boot do computador:
BIOS (Basic Input/Output System) é o nível de interface mais próximo e baixo existente entre o computador e seus periféricos. O BIOS realiza verificações de integridade na memória e procura as próximas instruções na MBR (Master Boot Record) para serem executadas.
A MBR aponta para um carregador de boot (LILO ou GRUB);
O carregador de boot segue com o sistema operacional padrão definido com kernel e localização física especificada, estas configurações foram feitos no processo de instalação do sistema operacional;
A primeira tarefa executada pelo kernel é chamar o programa INIT, pai de todos os processos que executam no linux;
O init então chama o script /etc/rc.d/rc.sysinit;
Por fim, de acordo com o runlevel definido, scripts são executados para tornar aquele nível definido operacional de acordo com suas características.

O processo Init

É o último passo no processo de boot e identificado com id 1. É responsável por iniciar os demais processos de sistema de acordo com as definições contidas no arquivo /etc/inittab. O processo init nunca pára. Não é um processo do kernel do sistema e sim um processo do usuário root.
O /etc/rc.sysinit define os processos que iniciarão a carga do sistema como serviço de rede, SELINUX, clock, módulos, devices, fsck, partições a serem montadas, internacionalização.

O /etc/inittab contém as definições de terminais, runlevel definido, CTRL+ALT+DEL, gerenciador gráfico.
Cada runlevel possui os serviços definidos, cada um deles com seu diretório específico:                                                                      0       /etc/rc.d/rc0.d/        halt/shutdown
1       /etc/rc.d/rc1.d/        modo de único usuário sem serviços de rede
2       /etc/rc.d/rc2.d/        multiusuário sem serviços de rede
3       /etc/rc.d/rc3.d/        login de console/texto, multiusuário com rede
4       /etc/rc.d/rc4.d/        reservado
5       /etc/rc.d/rc5.d/        multiusuário com rede e modo gráfico
6       /etc/rc.d/rc6.d/        reboot

Em cada diretório há vários arquivos como links simbólicos que referenciarão os serviços que serão executados ou não naquele nível de execução. Os liks apontam para os arquivos contidos em /etc/rc.d/init.d/ presentam o padrão:

Sxxservico – S, significa que o serviço será executado (Start), xx é a ordem de execução daquele serviço;
Kxxservico – K, significa que o serviço não estará disponível neste nível.

Para podermos iniciar, parar, verificar status usamos o comando service.
#service httpd start

Para podermos modificar opções de inicialização dos serviços temos:
chkconfig, ntsysv, setup

Estes comandos, arquivos e opções tiveram como base uma distribuição  Fedora ou padrão Red Hat.


Deixe um comentário

Categorias