컴퓨터 팁(Tip)

버추얼박스 가상머신과 시리얼포트 공유하기

야라바 2026. 4. 1. 16:13
728x90

개발 컴퓨터의 성능만 받쳐준다면 가상머신을 개발 환경으로 사용하는 것은 개발자에게 상당한 유익을 가져다줄 수 있다. 이번 포스팅은 윈도우 컴퓨터에 설치한 가상 시리얼포트를 통하여("윈도우 10에서 가상 시리얼 포트 만들기"참조) 호스트 컴퓨터인 윈도우와 게스트 컴퓨터인 우분투간에 시리얼 통신을 할 수 있는 환경을 구성해 보려 한다.

 

윈도우에 COM1,  COM2 가상시리얼을 구성하고 윈도우에서는 COM2를 통해 동작하는 응용 프로그램을 제작하고 우분투 리눅스에서는 /dev/ttyS0로 동작하는 응용 프로그램을 제작하는 형태이다. 이제 남은 것은 윈도우의 COM1이 /dev/ttyS0로 맵핑되도록 설정하는 것인데 우선 가상머신의 전원을 내리고 설정으로 들어간다.

 

 

설정 화면을 위의 그림처럼 상단에서 Expert Mode로 선택하고 좌측 메뉴> 직렬 포트를 선택하고 포트 1의 "직렬 포트 활성화"를 체크하고 Port Number는 COM1, Port Mode는 "호스트 장치", Path/Address에 COM1을 입력하고 [확인] 누르면 된다. 설정이 끝나면 가상머신을 구동시키고 추가 설정 작업을 진행한다. Path/Address에 /dev/ttyS0를 입력해야 하는 것으로 헷갈릴 수 있는데 호스트 컴튜터인 윈도우의 포트 주소를 입력해야 한다. 상단에서 COM1을 선택했으므로 우분투 리눅스에서 /dev/ttyS0 장치가 생성된다.

 

그림을 보면 가상머신 설정에서 COM1으로 설정한 것이 ttyS0로 동작하고 있음을 알 수 있다.

 

다음으로 준비할 것을 추가한 시리얼 장치에 접근 권한이 있어야 하는데 우분투에서는 기본적으로 root 사용자와 dialout이란 그룹에 접근 권한을 부여하고 있으므로 현재 사용자를 dialout 그룹에 추가해 주면 해당 장치에 접근할 수 있다. 아래의 명령을 사용하면 된다.

 

sudo usermod -a -G dialout $USER

 

위의 그림은 윈도우에서는 Putty로 COM2에 접속하고 우분투 리눅스에서는 minicom으로 /dev/ttyS0(윈도우에서는 COM1)로 접속하여 상호 통신하고 있는 모습이다.

 

 

 

728x90