Não é possível obter a saída do Qemu através do SSH

1

Versão resumida

Eu quero rodar o Qemu em uma máquina remota usando o ssh. Com esse comando, consigo ver algumas mensagens de inicialização, mas não consigo obter o prompt de login no meu terminal local.

qemu-system-i386 -m 128 
-kernel bzImage -drive file=rootfs.ext2,if=virtio 
-append "console=ttyS0" 
-net nic,model=virtio 
-net user 
-nographic

Eu também tentei com -curses sem sucesso

Versão longa

Eu tenho um framboesa com o TinyCore onde eu quero rodar (usando SSH) uma distro do BuildRoot no qemu.

Quando executo o qemu localmente (sem SSH)

  • usando -nographic , vejo algumas mensagens de inicialização e nada mais
  • Usando -curses , vejo VGA Graphic Mode , depois algumas mensagens de inicialização e, em seguida, ele mostra 1024 x 768 Graphic Mode e não consigo mais interagir com ele

Quando eu executo o qemu remotamente (com o SSH) eu consigo ver apenas as mensagens de inicialização e nada mais.

Eu não quero usar o VNC, como posso fazer isso?

EDITAR:

Na máquina host remota (piCore) eu tenho isso em /etc/inittab

tty1::respawn:/sbin/getty -nl /sbin/autologin 38400 tty1

E na máquina convidada remota eu tenho isso em /etc/inittab

tty1::respawn:/sbin/getty -L tty1 0 vt100 
    
por Devid Farinelli 23.11.2016 / 16:17

2 respostas

3

Com -nographic , qemu não adiciona uma placa gráfica virtual à VM, ainda adiciona um controlador serial mas com a porta serial conectada ao stdin / stdout do qemu (em oposição a uma janela SDL quando não está usando -nographics ).

Você está dizendo ao kernel Linux inicializado naquela VM para enviar sua saída do console para a porta serial, o que é bom, mas se você também quiser ter um prompt de login, você precisa ter um getty issue lá .

Então, você precisa adicionar uma linha para ele em seu inittab (ou outro arquivo de configuração relevante, dependendo de qual sistema init está sendo usado na VM):

ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100

Como a VM não possui uma placa gráfica, você também pode remover a linha tty1 , que é somente para um terminal VGA virtual.

    
por 25.11.2016 / 18:01
0

Acho que você quer usar o tunelamento X11 com SSH.

Tente executar "ssh -X -Y user @ remot_host".

Em seguida, verifique se a variável DISPLAY está definida: "echo $ DISPLAY"

Se isso não funcionar, você deve verificar a configuração do seu daemon sshd em "/ etc / ssh / sshd_config" em seu host de serviço. Edite-o para permitir o encaminhamento do X11 e, em seguida, reinicie seu daemon sshd.

Execute "xclock" para verificar se o X é tunelado.

Em seguida, o QEMU deve mostrar sua janela no lado do cliente do ssh.

    
por 25.11.2016 / 16:46