Como um Debian é inicializado

Você já se perguntou o que acontece nos bastidores na hora da inicialização de um sistema Debian? Quem chama quem? Quem executa o quê? Quais os processos envolvidos?

[ Hits: 17.312 ]

Por: Airton Arantes em 26/10/2009


Visão geral do processo de inicialização



Acionamos o POWER do computador, então este passa por vários processos de inicialização até nos oferecer um sistema operacional. Esses processos são feitos por estágio:
  1. BIOS
  2. Boot Loader
  3. Sistema Debian

Vamos abordar cada um desses estágios de inicialização.

1. BIOS

Esse é ponto de partida, localizado na ROM, onde é executado no momento em pressionamos o botão power. Seu papel é fazer uma inicialização básica do hardware através do POST, que é responsável pela aquela tela que nós conhecemos ao ligar o computador, que dependendo da marca pode variar de um computador para o outro, exemplo: DELL, VAIO, APPLE. Lá nós podemos ver no cantinho da tela alguns atalhos como F1 - faz função X, F2 - faz função Y, Del - faz função Z e assim por diante. Tudo isso varia de fabricante para fabricante. Escolhemos nosso boot padrão no BIOS, que vai ler os primeiros setores do disco (MBR). Após isso é chamado um Boot Loader, localizado na MBR.

Boot Loader

Esse é o nosso segundo estágio, que é inicializado pelo BIOS, como o próprio nome Boot Loader já diz, esse é o responsável por carregar o kernel do sistema e a imagem initrd (initial ram disk) para a nossa memória. O initrd é um sistema de arquivos temporário (obs.: em versões do Linux 2.6 em diante é tecnicamente chamado de initramfs (initial RAM filesystem), tipicamente usado antes do sistema raiz real ser montado pelo sistema.

O padrão do Debian é um boot loader muito conhecido por todos: GRUB. Nada impede de você escolher outros Boot Loaders, como por exemplo o Lilo, LoadLin, Isolinux.

No Debian você pode editar o GRUB através do arquivo /boot/grub/menu.lst como root. Não vou abordar aqui as configurações do GRUB, pois vai fugir um pouco do nosso assunto.

Sistema Debian

Estamos no terceiro estágio do nosso processo de boot, esse estágio é inicializado pelo Boot Loader. Aqui é onde o famoso script chamado init é executado, ele sempre tem PID 1, pois é o primeiro processo executado pelo sistema. Verifique isso com o comando:

pidof init

Esse script é quem vai fazer o trabalho de inicialização daqui pra frente. O init é quem vai inicializar o kernel em nível de usuário e tomar o controle dos próximos estágios, conhecidos como runlevels. Basicamente o init faz o seguinte:

1. Entra no runlevel N para inicializar o sistema conforme descrito no arquivo /etc/inittab.

2. Entra no runlevel S inicializando o sistema no modo monousuário afim de completar a inicialização completa do hardware.

3. Entra em um dos runlevels multiusuários (2 ao 5) afim de inicializar serviços do sistema.

Você pode dizer ao sistema em qual runlevel o init deve parar. Faça isso usando a diretiva init=runlevel no parâmetro do kernel que é listado no boot loader ou você pode editar o arquivo /etc/inittab diretamente, modificando a linha "initdeafult" para o runlevel de sua preferência. O padrão do Debian é o runlevel 2.

    Próxima página

Páginas do artigo
   1. Visão geral do processo de inicialização
   2. Runlevels
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Flatpak: usar ou não usar?

Instalação de Programas no Ubuntu (atualização)

Mamãe, quero Slack! (parte 3 - final)

Variáveis padrão para usar em seus scripts em shell

LAMP no Debian 8 (Apache 2, PHP 5 e MariaDB)

  
Comentários
[1] Comentário enviado por alevian em 26/10/2009 - 13:22h

Olá!

Sou iniciante em Linux.
Cheguei a ter acesso ao processo quando tentava configurar uma placa de vídeo, com auxílio do pessoal do Mandriva.

Poderia dizer se estes arquivos todos são carregados em todas as distros ou na maioria deles? Teriam mais a ver com o Kernel ou com a Ditro?

Grato!

[2] Comentário enviado por adrianoturbo em 26/10/2009 - 15:03h

Cara os runlevels: rc0.d ,rc1.d ,rc2.d ,rc3.d ,rc4.d ,rc5.d e rc6.d são defaults ,só variam em alguns casos de diretórios .






[3] Comentário enviado por airtonarantes em 26/10/2009 - 16:14h

O que o adrianoturbo disse está correto, mesmo que esse artigo seja apenas para mostrar como um DEBIAN é inicializado, não terá uma diferença muito grande para as inicializações de outras distribuições.

Acredito que ao ler esse artigo, mesmo você usando outra distribuição, será de grande ajuda para entender como a sua distribuição está sendo inicializada, você apenas terá que ver algumas característica peculiares da sua distro para ter um maior domínio.


[4] Comentário enviado por leodamasceno em 27/10/2009 - 11:42h

Airton, parabéns pelo artigo!
Ficou muito bom :)

[5] Comentário enviado por fainfo em 04/11/2009 - 22:54h

Artigo muito bom Airton, bem exclarecido, ainda mais pra "mim" que estou iniciando no Debian, ou melhor, levando ele mais a sério!!!

Abraço!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts