직렬 터미널을 KVM 인스턴스에 연결하는 방법은 무엇입니까?

직렬 터미널을 KVM 인스턴스에 연결하는 방법은 무엇입니까?

KVM이 하는 일을 오해하고 있는 것일 수도 있지만, VM에 하드웨어를 추가/제거할 수 있다는 것은 직렬 포트를 추가한 다음 터미널 역할을 할 수 있다는 의미인 것 같습니다.

그래서 내 질문은 다음과 같습니다.

  1. 게스트 FreeBSD 배포판에 가장 적합한 설정은 무엇입니까? (많이있다!)
  2. Linux 호스트에서 해당 터미널에 어떻게 액세스합니까?

답변1

이제 나는 다음을 바탕으로 내 자신의 질문에 대답할 수 있습니다.스테판댓글 및 링크된 기사 2개:

해결책은 다음과 같습니다.

  • 호스트 구성에 pty를 가리키는 기본 직렬 장치가 있는 한 호스트 구성과 관련된 어떤 것도 편집할 필요가 없습니다.
  • 커널의 부팅 매개변수에 다음이 추가되었는지 확인하세요: serial=tty0 console=ttyS0,115200n8. 일반적으로 편집을 통해 수행됨/boot/grub/menu.lst
  • getty를 시작하고 로그인 프롬프트를 표시하려면 /etc/inittab이 줄을 구성 하고 추가하세요.T0:S12345:respawn:/sbin/getty -hL ttyS0 115200 vt100

enforcing=0Fedora 시스템을 사용하여 이것이 작동하는지 확인할 수 있습니다(물론 문제의 시스템이 SELinux MLS를 실행하는 fedora rawhide이기 때문에 추가 매개변수를 설정해야 하지만 ).

나는 거기서부터 freebsd에 대해 동일한 작업을 수행하는 방법을 알아낼 수 있을 것이라고 생각했습니다.

고마워요 스테판!

답변2

FreeBSD 시스템을 설정하는 방법에 대해 답할 때 직렬 포트를 얻는 데는 두 가지 주요 시나리오가 있습니다. 시리얼만 사용하여 FreeBSD를 설치하는 경우 부트로더 시리얼 지침이 필요합니다. 이미 콘솔이 있고 직렬 액세스만 원하는 경우 설치 후 직렬 지침을 따르십시오.

부트로더 시리얼

  • 2로더 프롬프트로 이동하려면 FreeBSD 부팅 옵션 화면에서 키를 누르세요.
  • 유형set console=comconsole
    • 이 시점에서 상호 작용이 손실되면 가상 tty 전송 속도가 9600인지 확인하십시오.
  • 유형autoboot

이렇게 하면 직렬 인터페이스를 통해 나머지 설치를 완료할 수 있습니다. FreeBSD를 설치한 후 계속해서 직렬 액세스를 수행하려면 설치가 끝난 후 재부팅하기 전에 명령 프롬프트를 입력해야 합니다.

설치 후 일련번호

콘솔에서:

  • 유형echo 'console="comconsole"' >> /boot/loader.conf
  • /etc/ttysvi에 로드
  • ttyu0(다른 버전의 FreeBSD에서는 ttyd0일 수도 있음)으로 시작하는 줄을 수정하세요.
    • 해당 줄에서 다음 dialup으로 변경하십시오 .vt100offon
  • 재부팅 후 직렬 터미널에 부팅 프로세스가 표시되고 로그인 프롬프트로 끝나야 합니다.
    • 참고: 부팅 정보가 직렬 인터페이스에만 나타나도록 설정할 console="comconsole"수 있습니다. 직렬을 통해 로그를 시작하지 않으려면 수정하면 됩니다./boot/loader.conf/etc/ttys

인용하다

http://www.freebsd.org/doc/handbook/serialconsole-setup.html

http://www.freebsd.org/doc/handbook/term.html

답변3

물론, 에뮬레이터에서 직렬 포트를 에뮬레이션하고 호스트 시스템에서 액세스할 수 있어야 합니다. 게스트 OS는 getty_ps를 통한 로그인 프롬프트와 같은 "하드웨어 직렬 포트"에 무언가를 배치해야 합니다. 이제는 개인적으로 이런 식으로 사용할 필요가 없습니다. 대부분의 경우 게스트 OS에서 에뮬레이트된 직렬 포트는 디버깅 정보에 사용되며(Haiku는 여전히 기본적으로 이를 사용합니다), 그런 다음 에뮬레이터(예: VMware)에서 간단한 텍스트 파일로 캡처하여 사용 가능한 디버깅 정보를 제공합니다. 여기서는 qemu 내의 에뮬레이트된 직렬 콘솔에서 무언가를 실행해 보겠습니다.

답변4

OP의 답변은 작동하지만 내 환경(Linux 호스트, Linux 클라이언트)을 사용하려고 하면

  1. serial=tty0불필요한
  2. vt100 대신 xterm을 사용하면 /etc/inittab더 잘 작동합니다(색상이 나타납니다).

관련 정보