Skip to content

[RISC‐V 64] 1. macOS 개발 환경 구축 (진행중)

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

1. RISC-V 가상 환경 실행을 위한 QEMU 설치

  • qemu의 공식 홈페이지에서 제공하고 있는 macOS의 설치 방법은 2가지이며, 여기서는 아래와 같이 homebrew를 사용하여 설치하는 방법을 사용하였다.

    $ brew install qemu
  • 설치가 완료된 후 정상적으로 동작하는지 확인하는 방법은 아래와 같다.

    • m2 맥북에서 실행한 결과 정상적으로 실행됨을 확인하였고, 23년 8월 19일 기준으로 8.0.4 버전이 설치된 것을 확인할 수 있었다.
    $ qemu-system-riscv64 --version

2. RISC-V 가상 환경 실행을 위한 파일 준비

  • qemu로 RISC-V 가상 환경을 실행하기 위해서는 fw_jump.elf, uboot.elf 와 미리 설치된 RISC-V 용 리눅스 이미지 파일이 필요하다.

2-1. openSBI에서 제공하는 fw_jump.elf 확보

  • qemu로 RISC-V 가상 환경을 실행할 때 -bios 옵션으로 fw_jump.elf 파일을 넘겨주는데, 아마도 이 부분은 아래와 같은 이유로 필요한 것으로 보인다.

    • arm은 전원이 켜져서 CPU에 전력이 공급되면 처음으로 하는 일이 0x0000_0000번지의 주소를 찾아가 실행해야 할 부트로더나 펌웨어가 존재하는지 확인한다고 하며, CPU가 부팅 되자마자 찾아가는 위치는 고정이다.
    • 하지만, RISC-V는 arm과는 다르게 부팅 후 찾아가야 하는 위치는 하드웨어 설계자의 구현 방식에 따라 달라지게 되고 따라서 어디를 찾아가야 할지 지정해주지 않으면 알 수 없다.
    • 그렇기 때문에 RISC-V 가상 환경도 마찬가지로 부팅 후 찾아가야 하는 위치를 지정해주어야 하며, 이 때 필요한 파일이 fw_jump.elf 파일이다.
  • 여기서는 openSBI에서 제공하는 릴리즈 파일을 사용해 fw_jump.elf 파일을 확보하고자 한다.

    • openSBI Github 링크 : https://github.com/riscv-software-src/opensbi

    • openSBI Github의 릴리즈 링크 : https://github.com/riscv-software-src/opensbi/releases

    • 아래의 명령어를 사용하여 openSBI 1.3.1 버전의 릴리즈 파일을 다운로드한다.

      $ curl -O -L https://github.com/riscv-software-src/opensbi/releases/download/v1.3.1/opensbi-1.3.1-rv-bin.tar.xz
    • 아래의 명령어를 사용하여 해당 파일의 압축을 풀고, fw_jump.elf 파일을 추출한다.

      $ tar -xvf opensbi-1.3.1-rv-bin.tar.xz
      $ cp ./opensbi-1.3.1-rv-bin/share/opensbi/lp64/generic/firmware/fw_jump.elf .
      $ rm -rf opensbi-1.3.1-rv-bin