|
1 | 1 | FROM zephyrprojectrtos/ci-base:v0.28.5 AS build |
2 | | -# 1. Install minimal Zephyr SDK for Arm |
3 | 2 | ARG SDK_VERSION=0.17.4 |
4 | | -RUN wget -q https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v${SDK_VERSION}/zephyr-sdk-${SDK_VERSION}_linux-${HOSTTYPE}_minimal.tar.xz && \ |
5 | | - tar -xf zephyr-sdk-${SDK_VERSION}_linux-${HOSTTYPE}_minimal.tar.xz && \ |
6 | | - rm zephyr-sdk-${SDK_VERSION}_linux-${HOSTTYPE}_minimal.tar.xz && \ |
7 | | - cd zephyr-sdk-${SDK_VERSION} && \ |
8 | | - ./setup.sh -t arm-zephyr-eabi -h -c |
| 3 | + |
| 4 | +RUN set -eu; \ |
| 5 | + ARCH="$(uname -m)"; \ |
| 6 | + mkdir -p /opt; \ |
| 7 | + wget -q "https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v${SDK_VERSION}/zephyr-sdk-${SDK_VERSION}_linux-${ARCH}_minimal.tar.xz" && \ |
| 8 | + tar -C /opt -xf "zephyr-sdk-${SDK_VERSION}_linux-${ARCH}_minimal.tar.xz" && \ |
| 9 | + rm -f "zephyr-sdk-${SDK_VERSION}_linux-${ARCH}_minimal.tar.xz" |
| 10 | + |
| 11 | +WORKDIR /opt/zephyr-sdk-${SDK_VERSION} |
| 12 | +RUN ./setup.sh -t arm-zephyr-eabi -h -c |
| 13 | + |
9 | 14 | # 2. West init |
10 | 15 | WORKDIR /workspace |
11 | | -ADD west.yml . |
12 | | -RUN west init -l . |
13 | | -RUN west update --narrow --fetch-opt=--depth=1 |
14 | | -ADD . . |
| 16 | +COPY west.yml . |
| 17 | +RUN west init -l . && \ |
| 18 | + west update --narrow --fetch-opt=--depth=1 |
| 19 | +COPY . . |
15 | 20 | # 3. Build |
16 | | -# List of boards supported by Zephyr: https://docs.zephyrproject.org/latest/boards/index.html |
17 | | -# Example usage: |
18 | | -# --build-arg BOARD=imx93_evk/mimx9352/m33 |
19 | | -# --build-arg BOARD=stm32mp257f_dk/stm32mp257fxx/m33 |
20 | 21 | ARG BOARD |
21 | | -RUN test -n "$BOARD" || (echo "BOARD not set" && false) |
22 | | -RUN west build -p -b $BOARD |
| 22 | +RUN test -n "$BOARD" || (echo "BOARD not set" && false) && \ |
| 23 | + west build -p -b "$BOARD" |
23 | 24 |
|
24 | 25 | FROM scratch |
25 | 26 | COPY --from=build /workspace/build/zephyr/zephyr.elf /zephyr.elf |
26 | | -ENTRYPOINT [ "zephyr.elf" ] |
| 27 | +ENTRYPOINT ["/zephyr.elf"] |
0 commit comments