0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

KV260 - zephyrのビルド用のコンテナイメージの作成

0
Posted at
KV260 - zephyrのビルド用のコンテナイメージの作成
  • はじめに

    • KV260を使ってzephyr rtosの動作させています。
      zephyr rtosをビルドする際に、Dockerコンテナ内でビルドしていたので、
      Dockerコンテナの作成メモを記録として記載します。

  • 作業環境

    • VirtualBox 7.1.4
    • Ubuntu24.04 LTS
    • Docker version 28.0.4

  • 作成Dockerfile
    基となるコンテナのイメージはUbuntuのコンテナイメージを使用。
    Dockerfile名は、zephyr_build_contとした。
zephyr_build_cont
FROM ubuntu:latest
ARG USER="default"

ENV DEBIAN_FRONTEND=noninteractive

RUN apt update && apt install -y --no-install-recommends git cmake ninja-build gperf \
  ccache dfu-util device-tree-compiler wget python3-dev python3-venv python3-tk \
  xz-utils file make gcc gcc-multilib g++-multilib libsdl2-dev libmagic1 sudo locales curl && rm -rf /var/lib/apt/list/*

SHELL ["/bin/bash", "-c"]

RUN locale-gen en_US.UTF-8

ENV LAN=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV LC_ALL=en_US.UTF-8

RUN useradd -ms /bin/bash $USER && \
    echo "$USER:$USER" | chpasswd && \
    usermod -aG sudo $USER && \
    echo "$USER ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
    
USER zephyr
WORKDIR /home/$USER
  • Dockerfileによるコンテナのビルドとコンテナイメージの利用
    生成するコンテナのイメージ名は、Dockerfile名と同様とした。
    コンテナのイメージを利用する際には、
    コンテナ内でビルドした生成ファイルを、コンテナの外で参照できるようにしておく。
    下記では、dev_envフォルダが該当する。
   USER=zephyr
   SHARE_DIR=dev_env
   CONT_HOME_DIR=/home/$USER/$SHARE_DIR
   CONT_NAME=buildenv_zephyr
   CONT_IMAGE=zephyr_build_cont
   DOCKER_FILE=$CONT_IMAGE
   
   sudo docker build -t $CONT_IMAGE --build-arg USER=$USER -f $DOCKER_FILE .  
   sudo docker run -it --name $CONT_NAME -v $(pwd)/$SHARE_DIR:$CONT_HOME_DIR $CONT_IMAGE
  • コンテナ起動後
    zephyrのビルド用のツールのインストール設定
USER=zephyr
PRJDIR=/home/zephyr/dev_env/zephyrproject

sudo mkdir -p $PRJDIR
sudo chown $USER:$USER $PRJDIR
python3 -m venv $PRJDIR/.venv
source $PRJDIR/.venv/bin/activate

pip install west
west init $PRJDIR
cd $PRJDIR
west update
west zephyr-export
west packages pip --install

sudo apt-get update
sudo apt-get install -y ca-certificates
sudo update-ca-certificates

cd $PRJDIR/zephyr
west sdk install
source $PRJDIR/.venv/bin/activate
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?