Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagebash
$ cd ${SDK_DIR}/external/build/sample/docker/
$ docker build -t compile/ubuntu-rel:0.1 .
Info

エラーが出るなどして失敗した場合、下記を実施ください。
qemuインストール方法 - Technology Partner - Confluence (atlassian.net)

エラーが出るなどして失敗した場合、後述のqemuインストールを実施ください。

作成が完了したら、compile/ubuntu-relというリポジトリが作成されていることを確認してください。

...

Note

Dockerfileが存在するディレクトリに、以下の2ファイルが存在することを確認してください。

  • exec_entry.sh

  • qemu-aarch64-static

これらのファイルはPythonモジュール作成時に必要であるため、削除しないでください。

qemuインストール

コンテナ版追加アプリを作成するために、開発環境にインストールする必要のある、qemuのインストール方法を記載します。Dockerイメージの作成が完了している場合はqemuのインストールは不要ですので、次の章に進んでください。

Info

PCを再起動すると、build可能なアーキテクチャにlinux/arm64が表示されなくなる場合があります。その際は、再度同じ手順でqemuをインストールしてください。

qemuのインストール

Code Block
sudo apt update
sudo apt-get install qemu binfmt-support qemu-user-static # Install the qemu packages
sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes # This step will execute the registering scripts

 

docker buildxの準備

  • experimental 機能や BuildKit を使うため、環境変数を追加設定 & 反映 します。

  • 設定ファイルを開く

    Code Block
    vi ~/.bashrc
  • 以下を末尾に追加

    Code Block
    export DOCKER_CLI_EXPERIMENTAL=enabled
    export DOCKER_BUILDKIT=1

    保存

  • buildxが使えるようになっているか確認。

    Code Block
    docker --help | grep buildx

    出力例

    Code Block
      buildx*     Docker Buildx (Docker Inc., v0.10.5)

     

  • 現在build可能なアーキテクチャを確認。

    Code Block
    docker buildx ls

    出力例

    Code Block
    NAME/NODE DRIVER/ENDPOINT STATUS  BUILDKIT                              PLATFORMS
    default * docker
      default default         running v0.11.7-0.20230525183624-798ad6b0ce9f linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/amd64/v4, linux/386, linux/arm64, linux/riscv64, linux/ppc64, linux/ppc64le, linux/s390x, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6

    この出力の中に linux/arm64 があれば成功です。

Pythonモジュールをコンパイルする(Numpy, OpenCV)

...