próximo acima anterior sumário índice
Next: Diversos Up: Como Fazer um Disco Previous: Transferindo o sistema de   Sumário   Índice Remissivo

Problemas

Na construção de discos de inicialização, as primeiras tentativas normalmente gerarão discos com problemas. A abordagem de construção de um disco raiz é montar seus componentes a partir de um sistema já existente e tentar construir um disquete baseado nele que viabilize a carga do sistema até o momento em que mensagens possam ser apresentadas na console. Após esse passo, cabe verificar as mensagens e os erros apresentados, e ir corrigindo um a um, de acordo com o apresentado no console. Caso o sistema simplesmente trave, sem maiores explicações, encontrar a causa será um pouco mais difícil. Para ter-se um sistema que possa chegar ao estágio de enviar mensagens para o console, são requeridos diversos componentes, que devem estar presentes e corretamente configurados. O procedimento recomendado na investigação de um problema onde o sistema não apresente a sua causa é o seguinte:

Alguns destes aspectos gerais são melhor detalhados a seguir:

  1. Esteja certo de que init foi incluído como /sbin/init ou /bin/init e que tem permissão de execução.
  2. Execute ldd init para checar as bibliotecas necessárias à execução do init. Normalmente é necessária somente libc.so. Esteja certo de que todas as bibliotecas e carregadores foram incluídos.
  3. Esteja certo de utilizar o carregador correto para as bibliotecas -- ld.so para a.out ou ld-linux.so para ELF.
  4. Verificar se o arquivo /etc/inittab no sistema de arquivos do disquete de inicialização, aponta para o programa getty (ou algum programa similar a getty, como por exemplo agetty, mgetty ou getty_ps). Cheque duplamente esse arquivo comparando-o com o disponível no disco rígido. Verifique as páginas do manual do programa que está sendo utilizado para estar seguro que a configuração está correta. inittab é possivelmente a parte mais repleta de detalhes devido à sua sintaxe e o seu conteúdo depende do programa usado no sistema. A única forma de não correr riscos é ler as páginas de manual do init e inittab e verificar exatamente o que o sistema está fazendo ao ser iniciado. Esteja seguro que /etc/inittab tem uma entrada de inicialização no sistema. Deve haver um comando de execução do programa de inicialização do sistema.
  5. Assim como realizado com init, execute ldd em getty para verificar as dependências, esteja certo de que as bibliotecas necessárias e carregadores estão presentes no sistema de arquivos raiz.
  6. Esteja seguro de ter incluído um shell script (por exemplo, bash ou ash), capaz de executar todos os programas rc .
  7. Caso se tenha um arquivo /etc/ld.so.cache no disco de emergência, refaça-o.

Caso init comece, mas seja obtida a seguinte mensagem:

        Id xxx respawning too fast: disabled for 5 minutes

ela é oriunda do init, normalmente indicando que os programas getty ou login estão sendo encerrados imediatamente após o seu início. login Verifique os executáveis getty e login e as bibliotecas necessárias. Esteja seguro de que as chamadas em /etc/inittab estão corretas. Caso mensagens estranhas apareçam a partir do getty, pode significar que a chamada em /etc/inittab está errada. As opções disponíveis em getty variam bastante; assim como diferentes versões do agetty podem ter incompatibilidades na sintaxe das chamadas.inittab

Caso ao se tentar executar algum programa, tal como df, presente no disco de emergência, e obtiver-se mensagens como: df: não encontrado, deve-se verificar se: (1) o diretório que contém o comando está configurado na variável de ambiente PATH, e (2) todas as bibliotecas e carregadores necessários ao programa estão presentes.


próximo acima anterior sumário índice
Next: Diversos Up: Como Fazer um Disco Previous: Transferindo o sistema de   Sumário   Índice Remissivo
Cyro Mendes de Moraes Neto 1999-12-30