R-Car/Boards/Yocto-Gen3/Azure IoT Edge/v5.5.0

From eLinux.org
< R-Car‎ | Boards/Yocto-Gen3‎ | Azure IoT Edge
Revision as of 23:01, 12 December 2021 by O futaki (talk | contribs) (Created page with "== ビルド環境 == {| class="wikitable" |- | OS || Ubuntu 20.04 LTS (64bit) |- | メモリ || 8 GB 以上 |- | ストレージ || 空き 100 GB 以上 |- |} == ビル...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

ビルド環境

OS Ubuntu 20.04 LTS (64bit)
メモリ 8 GB 以上
ストレージ 空き 100 GB 以上

ビルド手順

  1. 事前準備(パッケージのインストール)
    $ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
    build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
    xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa \
    libsdl1.2-dev pylint3 xterm
    
  2. gitの設定
    $ git config --global user.email "you@example.com"
    $ git config --global user.name "Your Name"
    
  3. ビルドスクリプトを任意のディレクトリに作成
    build.sh
    #!/bin/bash
    
    BOARD_LIST=("h3ulcb" "m3ulcb")
    TARGET_BOARD=$1
    WORK=`pwd`/${TARGET_BOARD}
    
    POKY_COMMIT=6ebb33bdaccaeadff0c85aab27acf35723df00d8
    META_OE_COMMIT=c38d2a74f762a792046f3d3c377827b08aade513
    META_RENESAS_COMMIT=0fe77668f5d9a31a5d10449988c3d8fb8dc475c5
    
    # 暫定のコミットID(T.B.D.)。
    META_VIRTUALIZATION_COMMIT=ff997b6b3ba800978546098ab3cdaa113b6695e1
    META_DOCKER_COMMIT=0ff2d87a9099505403537cf07be91c987f967daa
    META_RUST_COMMIT=e4d25b98083bcecb94df6ee189a165d63ede7f3d
    META_IOTEDGE_COMMIT=35ec5533ac7f2d589cf1936af6d4972de56163f1
    
    Usage () {
        echo "Usage: $0 \${TARGET_BOARD_NAME}"
        echo "BOARD_NAME list: "
        for i in ${BOARD_LIST[@]}; do echo "  - $i"; done
        exit
    }
    
    # Check Param.
    if ! `IFS=$'\n'; echo "${BOARD_LIST[*]}" | grep -qx "${TARGET_BOARD}"`; then
        Usage
    fi
    
    mkdir -p ${WORK}
    cd ${WORK}
    
    # Clone basic Yocto layers in parallel
    git clone git://git.yoctoproject.org/poky &
    git clone git://git.openembedded.org/meta-openembedded &
    git clone git://github.com/renesas-rcar/meta-renesas &
    git clone git://git.yoctoproject.org/meta-virtualization &
    git clone git://github.com/tkomagata/meta-docker &
    git clone git://github.com/meta-rust/meta-rust &
    git clone git://github.com/tkomagata/meta-iotedge &
    
    # Wait for all clone operations
    wait
    
    # Switch to proper branches/commits
    cd ${WORK}/poky
    git checkout -b tmp ${POKY_COMMIT}
    cd ${WORK}/meta-openembedded
    git checkout -b tmp ${META_OE_COMMIT}
    cd ${WORK}/meta-renesas
    git checkout -b tmp ${META_RENESAS_COMMIT}
    cd ${WORK}/meta-virtualization
    git checkout -b tmp ${META_VIRTUALIZATION_COMMIT}
    cd ${WORK}/meta-docker
    git checkout -b tmp ${META_DOCKER_COMMIT}
    cd ${WORK}/meta-rust
    git checkout -b tmp ${META_RUST_COMMIT}
    cd ${WORK}/meta-iotedge
    git checkout -b tmp ${META_IOTEDGE_COMMIT}
    
    TEMPLATECONF=${WORK}/meta-iotedge/conf/machine/${TARGET_BOARD}/bsp/
    
    cd ${WORK}
    source poky/oe-init-build-env ${WORK}/build
    
  4. ビルドスクリプトを実行
    $ chmod a+x build.sh
    $ ./build.sh m3ulcb
    
  5. Azure IoT Edge Device の接続文字列を記載
    $ vi <m3ulcb>/build/conf/local.conf
    -------------------------------------------
    #IOTEDGE_DEVICE_CONNECTION_STRING = ""IOTEDGE_DEVICE_CONNECTION_STRING = "<プライマリ接続文字列>"
    -------------------------------------------
    
    ※<プライマリ接続文字列>に、スラッシュ'/' が含まれる場合は、'\/' とエスケープする必要あり。