Inicializar um sistema Linux envolve várias tarefas. O processo precisa montar ambos sistemas de arquivos virtual e real, inicializar dispositivos, verificar sistemas de arquivos para integridade, montar e ativar quaisquer partições ou arquivos de troca, configurar o relógio do sistema, ativar a rede de comunicação, iniciar quaisquer processos de segundo plano exigidos pelo sistema e realizar quaisquer outras tarefas personalizadas especificadas pelo(a) usuário(a). Esse processo precisa estar organizado para garantir que as tarefas sejam realizadas na ordem correta e executadas o mais rápido possível.
System V é o processo clássico de inicialização que tem sido usado em sistemas Unix e semelhantes a Unix, tais como o Linux, desde cerca de 1983. Ele consiste de um aplicativo pequeno, init, que configura processos básicos, tais como login (via getty), e executa um script. Esse script, usualmente chamado de rc, controla a execução de um conjunto de scripts adicionais que realizam as tarefas exigidas para inicializar o sistema.
O aplicativo init é
controlado pelo arquivo /etc/inittab
e está organizado em níveis de execução que podem ser escolhidos
pelo(a) usuário(a). No LFS, eles são usados como segue:
0 — parar
1 — Modo de usuário(a) único(a)
2 — Definível pelo(a) usuário(a)
3 — Modo de multi usuário(a) completo
4 — Definível pelo(a) usuário(a)
5 — Modo de multi usuário(a) completo com gerenciador de tela
6 — reinicializar
O nível de execução padrão usual é 3 ou 5.
Sistema estabelecido, bem compreendido.
Fácil de personalizar.
Possivelmente seja mais lento inicializar. Um sistema LFS básico de velocidade média toma de 8 a 12 segundos, onde o tempo de inicialização é medido desde a primeira mensagem do núcleo até o prompt de login. A conectividade da rede de comunicação tipicamente é estabelecida cerca de 2 segundos depois do prompt de login.
Processamento em série de tarefas de inicialização. Isso está relacionado ao ponto anterior. Um atraso em qualquer processo, tal como uma verificação de sistema de arquivos, atrasará o processo inteiro de inicialização.
Não suporta diretamente recursos avançados, como grupos de controle (cgroups) e agendamento de compartilhamento justo por usuário(a).
Adicionar scripts exige decisões de sequenciamento estático, manuais.