간결한 버전
SSH를 사용하여 원격 시스템에서 Qemu를 실행하고 싶습니다. 이 명령을 사용하면 일부 시작 메시지를 볼 수 있지만 로컬 터미널에서 vm 로그인 프롬프트를 가져올 수 없습니다.
qemu-system-i386 -m 128
-kernel bzImage -drive file=rootfs.ext2,if=virtio
-append "console=ttyS0"
-net nic,model=virtio
-net user
-nographic
나도 시도했지만 -curses
성공하지 못함
긴 버전
TinyCore가 포함된 Raspberry Pi가 있고 qemu에서 BuildRoot 배포판을 SSH를 사용하여 실행하고 싶습니다.
SSH 없이 qemu를 로컬로 실행할 때
- 을 사용하면
-nographic
시작 메시지가 일부 표시되지만 아무것도 표시되지 않습니다. -curses
를 사용하면VGA Graphic Mode
, 시작 메시지가 표시되고1024 x 768 Graphic Mode
더 이상 상호 작용할 수 없습니다.
SSH를 사용하여 원격으로 qemu를 실행하면 시작 메시지만 표시되고 다른 내용은 표시되지 않습니다.
VNC를 사용하고 싶지 않은데 어떻게 해야 하나요?
편집하다:
원격 호스트(piCore)에 다음이 있습니다./etc/inittab
tty1::respawn:/sbin/getty -nl /sbin/autologin 38400 tty1
원격 게스트 컴퓨터에는 다음이 있습니다./etc/inittab
tty1::respawn:/sbin/getty -L tty1 0 vt100
답변1
사용하면 -nographic
가상 qemu
그래픽 카드가 VM에 추가되지 않고 직렬 컨트롤러가 계속 추가되지만 직렬 포트는 qemu의 stdin/stdout(사용하지 않을 때 SDL 창 대신 -nographics
)에 연결됩니다.
해당 가상 머신에서 부팅된 Linux 커널이 콘솔 출력을 직렬 포트로 보내도록 지시하는 것입니다. 이는 괜찮지만 거기에 로그인 프롬프트도 표시하려면 getty
거기에서 뭔가 작업을 해야 합니다.
inittab
따라서 사용자(또는 가상 머신에서 사용되는 초기화 시스템에 따라 다른 관련 구성 파일)에 다음 줄을 추가해야 합니다.
ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
가상 머신에는 그래픽 카드가 없기 때문에 tty1
가상 VGA 터미널에만 사용되는 라인도 삭제할 수 있습니다.
답변2
SSH와 함께 X11 터널링을 사용하고 싶다고 생각합니다.
"ssh -X -Y user@remot_host"를 실행해 보세요.
그런 다음 DISPLAY 변수가 정의되어 있는지 확인합니다: "echo $DISPLAY"
그래도 작동하지 않으면 서비스 호스트의 "/etc/ssh/sshd_config"에서 sshd 데몬 구성을 확인해야 합니다. X11 전달을 허용하도록 편집한 다음 sshd 데몬을 다시 시작하세요.
X가 터널을 설정했는지 확인하려면 "xclock"을 실행하십시오.
그러면 QEMU는 SSH 클라이언트에 해당 창을 표시해야 합니다.