2008-09-16 4 views
4

들어오는 연결에 대해 직렬 포트에서 수신 대기하도록 하나의 Linux 상자를 설정하는 가장 좋은 방법은 무엇입니까? 나는 많은 인터넷 검색을했으나 실제로 명령을 내릴 올바른 조합을 찾을 수 없습니다.직렬 포트를 통해 두 개의 Linux (가상) 상자 통신

나의 주된 목적은 kvm/qemu VM의 인스턴스를 실행하기위한 직렬 인터페이스를 제공하는 것이다. 현재 VNC 인터페이스 만 있습니다 (헤드리스 서버에 있으며 X가 없습니다). -serial file : 플래그를 사용하여 VM을 시작하여 직렬 장치를 만들도록 VM을 가져올 수 있지만 그와 대화하는 방법은 완전히 다른 문제입니다. 두 상자 모두 Ubuntu 8.04를 실행 중입니다.

답변

5

Linux Serial HOWTO에는 일반적으로 직렬 통신에 대한 많은 상세 정보가 있습니다. 보다 구체적 인 Linux Remote Serial Console HOWTO은 콘솔에있는 것처럼 직렬 포트를 사용하여 가상화 된 시스템에 로그인 할 수 있기를 원하는 경우 실제로 찾고있는 것입니다. Hein이 지적했듯이 널 모뎀 케이블이 필요하며 원격 터미널에서 minicom을 실행해야합니다.

Linux 콘솔은 두 가지 방식으로 사용되며 각 콘솔은 직렬로 별도로 구성해야합니다. 직렬 포트를 통해 메시지를 복사하도록 커널을 구성 할 수 있습니다. 이는 시스템 부팅을 관찰하는 데 흥미로운 경우가 있으며 커널 디버깅을 수행하는 경우 거의 필수적입니다. (이것은 커널 지원이 필요하고 부팅 매개 변수를 업데이트하여 커널이 직렬 출력을 원한다는 것을 알기 때문에 두 번째 하우투의 chapter 5을 참조하십시오.) 직렬 포트를 통해 로그인하는 것이 더 흥미로울 것입니다. boot (시스템이 부팅 후 가상 터미널에서 이미 getty를 실행하는 것처럼)은 하우투의 chapter 6에 자세히 설명되어 있습니다.

0

"널 모뎀"케이블을 사용하여 2 개의 직렬 포트를 연결한다고 가정합니다.

원격 시스템과 통신하려면 minicom과 같은 프로그램을 사용하십시오. 통신 매개 변수를 설정하고 하드웨어 흐름 제어를 해제해야합니다 (케이블에 흐름 제어 선이 연결되어 있지 않은 경우).

+0

하인, 답장을 보내 주셔서 감사합니다.하지만 조금 노골적인 질문이 있으십니까? minicom에 연결할 특정 데몬이 있습니까? 아니면 양쪽 끝에 미니 콤입니까? –

0

/dev/tty1에서이 작업을한다고 가정 해 보겠습니다. 펄 스크립트 쉘 다음

chown *youruser* /dev/tty1 

에서

당신이 자동으로 시작하려면 분명히해야 할 더 많은 것이

open PORT, "</dev/tty1" || die "Can't open port: $!"; 
while (defined ($_ = <PORT>)) 
{ 
do_something($_); 
} 
close PORT; 

example.pl라고하며 부활 오류시 등등. 하지만 기본적인 아이디어는 직렬 포트에서 파일처럼 읽는 것입니다.

관련 문제