시리얼 터미널을 KVM 인스턴스에 어떻게 연결합니까?


12

아마도 KVM의 기능에 대해 잘 모르고 있지만 VM에서 하드웨어를 추가 / 제거하는 기능은 직렬 포트를 추가하여 터미널 역할을 할 수 있음을 의미합니다.

그래서 내 질문은 :

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

답변:


5

이제 Stefan 의 의견과 연결된 두 기사를 기반으로 내 자신의 질문에 대답 할 수 있습니다 .

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

  • 기본 직렬 장치가 pty를 가리키는 경우 호스트 구성과 관련하여 아무 것도 편집 할 필요가 없습니다.
  • 커널의 부팅 매개 변수에 다음이 추가되었는지 확인하십시오 serial=tty0 console=ttyS0,115200n8.. 일반적으로 편집하여 달성/boot/grub/menu.lst
  • getty를 시작하고 로그인 프롬프트를 표시 /etc/inittab하도록 라인 T0:S12345:respawn:/sbin/getty -hL ttyS0 115200 vt100을 구성 하고 추가하십시오 .

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

나는 거기에서 아마 freebsd에 대해 똑같이하는 방법을 해결할 수 있다고 생각합니다.

고마워 Stefan!


나는 serial=tty0실수 라고 생각 했다 console=tty0. 커널 문서에 "직렬"매개 변수가 표시되지 않습니다. 그래도 여러 콘솔 (이 경우 활성 가상 콘솔과 직렬 콘솔)을 지정하는 것이 좋습니다.
mattdm

2

FreeBSD 머신을 설정하는 방법에 대한 대답으로, 시리얼을 얻는 두 가지 주요 경우가 있습니다. 시리얼만으로 FreeBSD를 설치하는 경우 부트 로더 시리얼 명령어가 필요합니다. 콘솔이 이미 있고 직렬 액세스 만하려면 설치 후 직렬 지침을 따르십시오.

부트 로더 시리얼

  • 2로더 프롬프트로 빠져 나오려면 FreeBSD 부팅 옵션 화면에서 누르십시오
  • 유형 set console=comconsole
    • 이 시점에서 상호 작용이 느슨하면 가상 tty 보드 율이 9600인지 확인하십시오.
  • 유형 autoboot

이렇게하면 나머지 설치가 직렬 인터페이스를 통해 수행 될 수 있습니다. FreeBSD를 설치 한 후에 시리얼 액세스를 계속하려면 설치가 끝나면 재부팅하기 전에 명령 프롬프트로 넘어 가고 싶을 것입니다.

설치 후 시리얼

콘솔에서 :

  • 유형 echo 'console="comconsole"' >> /boot/loader.conf
  • /etc/ttysvi에 로드
  • ttyu0으로 시작하는 행을 수정하십시오 (다른 FreeBSD 버전에서는 ttyd0 일 수 있음).
    • 그 라인 변화에 dialupvt100offon
  • 재부팅 후, 시리얼 터미널은 부팅 과정을 보여주고 로그인 프롬프트로 끝나야합니다
    • 참고 : console="comconsole"in을 설정 /boot/loader.conf하면 부팅 메시지가 직렬 인터페이스에만 나타납니다. /etc/ttys직렬로 부팅 로그를 원하지 않으면 수정 하십시오.

참고 문헌

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

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


0

물론 에뮬레이터 내에서 직렬 포트를 에뮬레이션하고 호스트에서 액세스 할 수 있어야합니다. 게스트 OS는 getty_ps와 같은 로그인 프롬프트와 같은 '하드웨어 직렬 포트'에 무언가를 넣어야합니다. 이제 개인적으로 이런 식으로 사용할 필요가 없었습니다. 대부분 게스트 OS에서 에뮬레이트 된 직렬 포트는 정보 디버깅에 사용되며 (Haiku는 여전히 기본적으로이 정보를 사용함) 디버그 정보를 사용할 수 있도록 간단한 텍스트 파일로 에뮬레이터 (VMware와 같은)에 의해 캡처됩니다. qemu 내 에뮬레이트 된 시리얼 콘솔에서 무언가를 실행하려면 여기에서 시도하십시오.


0

OP의 답변은 효과가 있지만 env (Linux 호스트, Linux 클라이언트)로 시도했을 때

  1. serial=tty0 필요하지 않았다
  2. vt100 대신 xterm을 사용 /etc/inittab하면 더 잘 작동합니다 (색상이 나타납니다)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.