Solicitação de shell do initrd

1

Eu tenho um problema com um sistema Linux que não inicializa. O bootloader carrega o kernel e o initrd, mas o script initrd reclama e reclama que não consegue encontrar o dispositivo root.

Como eu forçar o script initrd para me dar um prompt de shell para que eu possa investigar o que está acontecendo?

Eu tentei descompactar o initrd e fazer o script /init executar bash -i . Mas isso não funcionou de todo; Eu vejo o prompt Bash aparecer, mas o teclado não funciona. (Bash reclama algo sobre "não é possível definir o grupo de progresso" e "ioctl inadequado para o dispositivo".)

Caso seja importante: o OpenSUSE 13.1, que usa o antigo sistema mkinitrd . (Aparentemente versões mais novas usam o Dracut.) Pelo que eu sei, /init é um pequeno script que executa tudo em /boot (uma série de scripts Bash numerados).

  • Existe um script chamado /boot/91-shell.sh , que contém um comentário que sugere que passar shell=1 na linha de comando do kernel me dará um prompt de shell; isso não acontece.

  • Há também um comentário em /boot-02-start.sh , que afirma que passar linuxrc=trace me dará saída de depuração. Faz, mas é inútil; tudo o que vejo é o loop de polling de dispositivo infinito no final do script passando, eliminando todas as saídas anteriores.

Eu realmente preciso entrar lá e ver o que realmente está acontecendo com meus próprios olhos para saber onde está o problema. (Para ser justo, eu estou tentando tentar fazer o sistema inicializar de uma maneira um pouco estranha, então os problemas não são inesperados aqui.)

    
por MathematicalOrchid 23.03.2016 / 16:53

1 resposta

0

Este é um problema específico da Apple. Se eu inicializo praticamente qualquer sistema Linux no MacBook Air com o qual tenho que brincar, o teclado se recusa a funcionar. Em qualquer sistema baseado em PC, isso funciona perfeitamente. Então, nada a ver com o Linux não iniciar o binário correto do init; é algum tipo de problema de driver de hardware.

    
por 06.04.2016 / 12:35