Como eu redireciono o Qemu guest console = tty0 para o host stdin / stdout?

0

Eu tenho um kernel Linux que tem as seguintes opções de configuração:

CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="console=tty0 init=/init"
CONFIG_CMDLINE_OVERRIDE=y

Eu executo o Qemu com algo assim:

qemu-system-x86_64 -nographic -kernel my-vmlinuz

Isso (corretamente) não mostra nenhuma saída porque -nographic implicitamente anexa o convidado ttyS0 (não tty0 ) ao host stdin / stdout . Como posso dizer ao Qemu para anexar o convidado tty0 ao host stdin / stdout ?

Referências:

por rubicks 14.05.2018 / 16:41

2 respostas

1

Eu não acho que você pode. Os terminais virtuais ( tty1 etc.) são implementados na parte superior do modo de texto VGA, que basicamente fornece ao sistema uma matriz mapeada de memória de caracteres (+ atributos). O kernel então escreve para aquela matriz como quer. No entanto, os fluxos de arquivos como stdout são inerentemente lineares, portanto, não são totalmente compatíveis.

O que você pode fazer, no entanto, é usar qemu -curses para ter uma visão da saída VGA do modo de texto do convidado; ou, coloque console=ttyS0 na linha de comando do kernel para que o convidado use a porta serial como console. (Você também pode precisar configurar grub para usar a porta serial.)

    
por 14.05.2018 / 17:10
0

Acredito que o seguinte funcionará para você:

CONFIG_CMDLINE="console=tty0 console=ttyS0,9600n8 init=/init"

Isso vem do manual remoto do console serial do tldp

Veja também this pergunta

    
por 25.11.2018 / 02:43