O processo INIT é necessário para uma instalação ultraleve do Linux?

3

Eu estou trabalhando em uma versão light do Linux sem nenhum motivo específico além de ver o quão pequeno eu poderia fazê-lo. Eu queria saber se o INIT era necessário, ou se eu poderia executar todas as tarefas relacionadas ao INIT (fsck, desmontar, etc) por scripts manuais / bash?

Eu não preciso de funcionalidade multiusuário (ou muito de qualquer coisa para esse assunto). Comecei com uma base do Gentoo 2.0.2 Instale com o kernel 2.6.38.

    
por berk98 30.07.2011 / 07:53

2 respostas

4

Não, não realmente. Você pode iniciar o kernel com os parâmetros init=/bin/bash para um sistema mínimo.

    
por 30.07.2011 / 12:09
6

Primeiro, você deve distinguir duas coisas: o programa chamado init e um processo init que o linux executa após carregar e executar a inicialização básica - que também é chamada init pelo kernel.

O primeiro é um programa , assim como qualquer outro, cuja tarefa é iniciar a inicialização do sistema executando vários outros programas e controlar seu fechamento. O programa mais popular como esse é sysvinit . Esta é a implementação mais popular de um "pai de todos os processos", encontrada na maioria das distribuições padrão do Linux e tipicamente existe como /sbin/init .

O segundo é apenas um comando que o kernel do linux conhece e é executado automaticamente na inicialização. Então você pode dizer ao kernel para rodar qualquer outro programa no lugar do init. Por exemplo, uma abordagem popular para fazer a recuperação do sistema é dizer ao linux para executar /bin/bash ou um applet de /sbin/busybox (veja os comentários abaixo). Isso pode ser feito fornecendo o nome do programa como parâmetro de inicialização (como init=/bin/bash ).

Observe que quando o processo init é encerrado, o sistema é interrompido se tornando praticamente inutilizável.

Além do bash e do busybox, existem várias substituições de inicialização que podem fazer mais ou menos o que o init faz. Você pode querer dar uma olhada em minit , runit , cinit , jinit , upstart ou iniciando . Mas se você apontar uma solução absolutamente mínima sem paralelismo de inicialização ou recursos avançados, o busybox pode ser a melhor escolha.

    
por 31.07.2011 / 00:55

Tags