다음 구성 옵션을 갖춘 Linux 커널이 있습니다.
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="console=tty0 init=/init"
CONFIG_CMDLINE_OVERRIDE=y
나는 다음과 같이 Qemu를 실행합니다.
qemu-system-x86_64 -nographic -kernel my-vmlinuz
-nographic
게스트가 ttyS0
대신 tty0
호스트 stdin
/ 에 암시적으로 연결되어 있기 때문에 이것은 (올바르게) 출력을 표시하지 않습니다 stdout
. 게스트를 tty0
호스트 stdin
/ 에 연결하도록 Qemu에 어떻게 지시합니까 stdout
?
인용하다:
답변1
내 생각엔 당신이 할 수 없을 것 같아요. 가상 터미널( tty1
등)은 기본적으로 메모리 매핑된 문자 배열(+ 속성)을 시스템에 제공하는 VGA 텍스트 모드 위에 구현됩니다. 그런 다음 커널은 필요에 따라 배열에 씁니다. 그러나 파일 스트림은 stdout
본질적으로 선형이므로 완전히 호환되지 않습니다.
그러나 수행할 수 있는 작업은 qemu -curses
다음을 사용하여 게스트의 텍스트 모드 VGA 출력을 보는 것입니다. 또는 console=ttyS0
커널 명령줄을 입력하고 게스트가 직렬 포트를 콘솔로 사용하도록 합니다. ( grub
직렬 포트를 사용하도록 구성해야 할 수도 있습니다 .)
답변2
나는 다음이 당신에게 도움이 될 것이라고 믿습니다:
CONFIG_CMDLINE="console=tty0 console=ttyS0,9600n8 init=/init"
이것은에서 비롯됩니다tldp용 원격 직렬 콘솔 HOWTO
당신은 또한 볼 수 있습니다이 문제