아마도 KVM의 기능에 대해 잘 모르고 있지만 VM에서 하드웨어를 추가 / 제거하는 기능은 직렬 포트를 추가하여 터미널 역할을 할 수 있음을 의미합니다.
그래서 내 질문은 :
- 게스트 FreeBSD 배포판에 가장 적합한 설정은 무엇입니까? (많이있다!)
- Linux 호스트에서 해당 터미널에 어떻게 액세스합니까?
답변
이제 Stefan 의 의견과 연결된 두 기사를 기반으로 내 자신의 질문에 대답 할 수 있습니다 .
- /ubuntu/1733/what-reason-could-prevent-console-output-from-virsh-c-qemu-system-console-gu
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507650#29
해결책은 다음과 같습니다.
- 기본 직렬 장치가 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!
답변
FreeBSD 머신을 설정하는 방법에 대한 대답으로, 시리얼을 얻는 두 가지 주요 경우가 있습니다. 시리얼만으로 FreeBSD를 설치하는 경우 부트 로더 시리얼 명령어가 필요합니다. 콘솔이 이미 있고 직렬 액세스 만하려면 설치 후 직렬 지침을 따르십시오.
부트 로더 시리얼
2
로더 프롬프트로 빠져 나오려면 FreeBSD 부팅 옵션 화면에서 누르십시오- 유형
set console=comconsole
- 이 시점에서 상호 작용이 느슨하면 가상 tty 보드 율이 9600인지 확인하십시오.
- 유형
autoboot
이렇게하면 나머지 설치가 직렬 인터페이스를 통해 수행 될 수 있습니다. FreeBSD를 설치 한 후에 시리얼 액세스를 계속하려면 설치가 끝나면 재부팅하기 전에 명령 프롬프트로 넘어 가고 싶을 것입니다.
설치 후 시리얼
콘솔에서 :
- 유형
echo 'console="comconsole"' >> /boot/loader.conf
/etc/ttys
vi에 로드- ttyu0으로 시작하는 행을 수정하십시오 (다른 FreeBSD 버전에서는 ttyd0 일 수 있음).
- 그 라인 변화에
dialup
로vt100
와off
에on
- 그 라인 변화에
- 재부팅 후, 시리얼 터미널은 부팅 과정을 보여주고 로그인 프롬프트로 끝나야합니다
- 참고 :
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
답변
물론 에뮬레이터 내에서 직렬 포트를 에뮬레이션하고 호스트에서 액세스 할 수 있어야합니다. 게스트 OS는 getty_ps와 같은 로그인 프롬프트와 같은 ‘하드웨어 직렬 포트’에 무언가를 넣어야합니다. 이제 개인적으로 이런 식으로 사용할 필요가 없었습니다. 대부분 게스트 OS에서 에뮬레이트 된 직렬 포트는 정보 디버깅에 사용되며 (Haiku는 여전히 기본적으로이 정보를 사용함) 디버그 정보를 사용할 수 있도록 간단한 텍스트 파일로 에뮬레이터 (VMware와 같은)에 의해 캡처됩니다. qemu 내 에뮬레이트 된 시리얼 콘솔에서 무언가를 실행하려면 여기에서 시도하십시오.
답변
OP의 답변은 효과가 있지만 env (Linux 호스트, Linux 클라이언트)로 시도했을 때
serial=tty0
필요하지 않았다- vt100 대신 xterm을 사용
/etc/inittab
하면 더 잘 작동합니다 (색상이 나타납니다)