문제

들어오는 연결을 직렬 포트에서 수신하도록 하나의 Linux 상자를 설정하는 가장 좋은 방법은 무엇입니까?인터넷 검색을 많이 했지만 실제로 대화할 수 있는 올바른 명령 조합을 찾을 수 없습니다!

나의 주요 목표는 kvm/qemu VM의 인스턴스 실행에 직렬 인터페이스를 제공하는 것입니다.현재는 VNC 인터페이스만 있습니다(헤드리스 서버에 있고 X는 없음).-serial 파일을 사용하여 VM을 시작하여 직렬 장치를 생성하도록 할 수 있습니다.플래그와 대화하는 방법은 완전히 다른 문제입니다.두 상자 모두 Ubuntu 8.04를 실행하고 있습니다.

도움이 되었습니까?

해결책

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

Linux 콘솔은 두 가지 방법으로 사용되며, 각 방법은 직렬 사용을 위해 별도로 구성해야 합니다.직렬 포트를 통해 메시지를 복사하도록 커널을 구성할 수 있습니다. 이는 때때로 시스템 부팅을 관찰하는 데 흥미롭고 커널 디버깅을 수행하는 경우 거의 필수입니다.(이를 위해서는 커널 지원과 부팅 매개변수 업데이트가 필요하므로 커널이 직렬 출력을 원한다는 것을 알 수 있습니다.보다 5장 두 번째 하우투.) 아마도 부팅 후 직렬 포트에서 getty를 실행해야 하는 직렬 포트를 통해 로그인하는 데 더 관심이 있을 것입니다(시스템이 이미 부팅 후 가상 터미널에서 getty를 실행하는 것과 같습니다). 자세히 6장 하우투의.

다른 팁

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

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

/dev/tty1에서 이 작업을 수행한다고 가정해 보겠습니다.

껍질 속에

chown *youruser* /dev/tty1

그런 다음 example.pl이라는 Perl 스크립트에서

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

자동으로 시작하고 오류가 발생하면 다시 생성되도록 하려면 분명히 해야 할 일이 더 있습니다.그러나 기본 아이디어는 파일처럼 직렬 포트에서 읽는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top