Obtendo a saída de depuração de um initramfs debian

2

Estou tentando configurar um servidor para uma debian lenny no software raid0 e um sistema de arquivos raiz LVM através do console serial e do console de recuperação da empresa de hospedagem (basicamente um liveCD do ubuntu).

Depois de configurar o raid0, estabelecendo o LVM, executando o debootstrap, instalando o grub, etc, eu reinicio e o servidor trava na inicialização, antes de chegar ao init. Com base nas mensagens de log do kernel, o RAID Array foi colocado on-line, e possivelmente o LVM também (desculpe, não tenha as mensagens de log exatas agora, mas será amanhã).

Não há absolutamente nenhuma saída de erro dos próprios scripts initramfs - somente mensagens de log do kernel. Como posso obter o initramfs para produzir alguma saída de depuração útil para que eu possa, pelo menos, determinar onde ela morre?

    
por bdonlan 30.07.2009 / 04:58

3 respostas

3

Parece que o problema foi que o console foi especificado duas vezes na linha de comando do kernel:

.... console=ttyS0,57600 console=tty0

Embora as mensagens do kernel fossem para os dois consoles, as mensagens do espaço do usuário presumivelmente eram apenas para o último.

    
por 31.07.2009 / 03:02
2

As mensagens do kernel são copiadas para todos os dispositivos especificados na linha de comando do kernel (/ proc / cmdline). No entanto, para cenários em que a entrada é necessária (por exemplo, um shell de comando), a saída vai apenas para o último console = device (e é de onde a entrada é feita, é claro).

No que diz respeito ao material initramfs, debug = pode ser definido na linha de comando do kernel (por exemplo, feito através de um gerenciador de inicialização como o GrUB) para mostrar os comandos sendo executados em qualquer nível: top, premount, init, etc. Eu olhei para a versão initramfs do init e tome cuidado: o valor é menos a parte "init-" que você vê durante a inicialização. Eu estava esperando para ver todos os níveis usando apenas "debug", mas, infelizmente, não funciona assim.

BTW ... não que seja diferente, mas para mim é o Ubuntu 10.04

Tudo tem a ver com como o dispositivo (/ dev / console) é tratado. Quando é aberto, refere-se à última menção da linha de comando do kernel do console =. Portanto, embora o kernel possa gerar mensagens para todas as "menções", o usuário geralmente tem acesso apenas ao último.

    
por 08.08.2010 / 21:50
1

Após 6 anos, as coisas mudaram muito. O documento wiki da Debian pode ser útil para alguém: link

    
por 25.10.2015 / 20:12