Skip to content

[RISC‐V 64] VS Code로 QEMU 내부 접근

최기철 edited this page Aug 27, 2023 · 1 revision

Visual Studio Code에서 Remote - SSH 확장을 사용하여 RISC-V Ubuntu 가상 환경의 코드를 접근하고자 했지만, 지원하지 않는 아키텍처라며 더 이상 진행이 되지 않는다.

다른 확장 프로그램은 사용해보지 않아 가능한지는 확인하지 못했지만, 복잡한 단계를 거쳐 연결하는 것은 원하지 않았기 때문에 최대한 Remote - SSH와 같이 쉽게 접근하기 위한 방법을 찾아냈다.

1. RaiDrive 설치

  • RaiDrive라는 프로그램은 원격에 존재하는 클라우드 스토리지나, NAS를 로컬에서 디스크 접근하듯이 사용할 수 있도록 해주는 프로그램이다.
  • RaiDrive 프로그램은 다양한 방법을 지원하지만 여기서는 SSH가 접속 가능하면 SFTP 프로토콜 또한 사용 가능한 경우가 많기 때문에 RISC-V Ubuntu에 SFTP로 연결해 마운트 된 디스크를 로컬 환경(윈도우)에서 Visual Studio Code로 접근하기 위해 사용하도록 한다.
  • 설치 링크 : https://www.raidrive.com/download

2. RaiDrive로 RISC-V Ubuntu 연결

2-1. RISC-V Ubuntu 가상 환경에서 디렉토리 생성

  • 아래 그림과 같이 작업용 디렉토리를 생성해준다.

    image

2-2. RaiDrive에서 RISC-V Ubuntu 연결하기

  • RaiDrive 프로그램 실행 후 우측 상단에 보면 추가 버튼이 있으며, 버튼을 클릭하면 아래와 같은 창이 뜨는데 아래와 같은 순서로 연결을 진행한다.

    1. NAS 탭으로 이동 후 SFTP를 선택한다.
    2. 드라이브 옆에 SFTP는 내 PC에서 출력 될 디스크 이름이기 때문에 식별하기 쉽도록 수정한다.
    3. 주소 옆의 host.example.com으로 되어있는 부분에 접속할 IP주소를 입력해야 하는데, [Windows] RISC‐V 64bit 개발환경 구축 문서를 그대로 따라했다면 Qemu에서 동작하는 RISC-V Ubuntu는 127.0.0.1을 입력한다.
    4. 옆에 22로 되어있는 포트 번호는 [Windows] RISC‐V 64bit 개발환경 구축 문서에서 배치파일을 생성할 때 [외부에서 가상머신 접속 시 사용할 포트 번호] 에 입력해준 포트 번호를 입력한다.
    5. 경로 부분에는 절대 경로로만 입력해야 하며, 위에서 생성한 작업용 디렉토리의 경로를 절대 경로로 입력해준다.
    6. 계정 옆의 사용자에는 ubuntu를 입력하고, 비밀번호는 첫 접속 이후 변경한 비밀번호를 입력 후 아래의 연결 버튼을 눌러 연결을 진행한다.

    image

2-3. 마운트 된 디스크 확인

  • RISC-V Ubuntu 가상 환경에서 uftrace를 git clone 하고 임의의 파일을 생성해 확인한 결과는 아래 그림과 같음

    image

2-4. Visual Studio Code에서 마운트 된 디스크 접근

  • Visual Studio Code에서 File → Open Folder를 선택해 마운트 된 디스크의 폴더를 선택한다.
  • 이후 Visual Studio Code에서 파일 내용을 수정하고 SSH로 접속된 화면에서 확인하면 실시간으로 반영된 것을 확인할 수 있다. image