From c7a841a9c179d16ac6fe7c4c6b386ea479b34950 Mon Sep 17 00:00:00 2001 From: kon-foo <25391223+kon-foo@users.noreply.github.com> Date: Mon, 24 Feb 2025 18:29:12 +0100 Subject: [PATCH 01/13] docker build instructions --- README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/README.md b/README.md index b8008b9..c1d4b9c 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,30 @@ The following configuration settings can be added to the first `cmake -S . -B bu Ex: `-DENABLE_USERAPPS="Apps::Timer, Apps::Alarm"`. The default list of user applications will be selected if this variable is not set. +### Build with Docker + +You can also build the simulator using Docker. This is useful if you don't want to install all the dependencies on your system. +First build the Docker image: +```sh +docker build -t infinisim-build . +``` + +Afterwards you can build the simulator with: +```sh +docker run --rm -it -v ${PWD}:/sources infinisim-build +``` + +By default this builds the InfiniTime from the submodule in your ${PWD}. If you want to use a different repository, you got to mount it and pass the path to the `INFITIME_DIR` variable: +```sh +docker run --rm -it -v ${PWD}:/sources -v ${PWD}/../InfiniTime:/infinitime -e INFITIME_DIR=/infinitime infinisim-build +``` + +Other build configurations can be passed to the BUILD_FLAGS variable: +```sh +docker run --rm -it -v ${PWD}:/sources -e BUILD_FLAGS=-DENABLE_USERAPPS="Apps::MyApp,Apps::Alarm" infinisim-build +``` + + ## Run Simulator When the build was successful the simulator binary can be started with From 65db2362c639651325f622f14a00a9c850f37317 Mon Sep 17 00:00:00 2001 From: kon-foo <25391223+kon-foo@users.noreply.github.com> Date: Mon, 24 Feb 2025 18:30:02 +0100 Subject: [PATCH 02/13] docker builder image --- Dockerfile | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2419d3c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,28 @@ +FROM ubuntu:22.04 + +# Install dependencies +RUN apt-get update && \ + apt-get install -y \ + curl \ + cmake \ + libsdl2-dev \ + g++ \ + python3-pip \ + python3-venv \ + libpng-dev \ + git \ + && rm -rf /var/lib/apt/lists/* \ + && curl -sL https://deb.nodesource.com/setup_20.x -o nodesource_setup.sh \ + && bash nodesource_setup.sh \ + && apt-get install -y nodejs \ + && npm install -g lv_font_conv@1.5.2 \ + && pip install wheel Pillow + + +WORKDIR /sources + +# Define build configuration environment variables with default values +ENV INFITIME_DIR="/sources/InfiniTime" +ENV BUILD_FLAGS="" + +CMD ["bash", "-c", "cmake -S . -B build -DInfiniTime_DIR=${INFITIME_DIR} ${BUILD_FLAGS} && cmake --build build -j4"] From 20ba7265707457f448e7a7f755e3ac86b86cd236 Mon Sep 17 00:00:00 2001 From: kon-foo <25391223+kon-foo@users.noreply.github.com> Date: Mon, 24 Feb 2025 18:53:00 +0100 Subject: [PATCH 03/13] quiet flag; build env vars; remove apt-cache --- Dockerfile | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2419d3c..0dd9a96 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,27 +1,26 @@ FROM ubuntu:22.04 # Install dependencies -RUN apt-get update && \ +ARG DEBIAN_FRONTEND=noninteractive +ARG NODE_MAJOR=20 +RUN apt-get update -qq && \ apt-get install -y \ curl \ cmake \ libsdl2-dev \ g++ \ + libpng-dev \ python3-pip \ python3-venv \ - libpng-dev \ - git \ - && rm -rf /var/lib/apt/lists/* \ - && curl -sL https://deb.nodesource.com/setup_20.x -o nodesource_setup.sh \ + && rm -rf /var/cache/apt/* /var/lib/apt/lists/* \ + && curl -sL https://deb.nodesource.com/setup_${NODE_MAJOR}.x -o nodesource_setup.sh \ && bash nodesource_setup.sh \ && apt-get install -y nodejs \ && npm install -g lv_font_conv@1.5.2 \ && pip install wheel Pillow - WORKDIR /sources - -# Define build configuration environment variables with default values +# Build configuration environment variables ENV INFITIME_DIR="/sources/InfiniTime" ENV BUILD_FLAGS="" From fd91208553589e8949d1c5f7360cd495d984fb2e Mon Sep 17 00:00:00 2001 From: Darius Arnold Date: Sat, 8 Mar 2025 13:58:53 +0000 Subject: [PATCH 04/13] Add Dockerfile and devcontainer.json This allows both interactive use in IDEs/editors with dev container support as well as building inside the dev container from the command line. The changes are based on https://github.com/kon-foo/InfiniSim/tree/docker-builder-image. The original PR was extended with the following features: - ccache and ninja are installed for optional faster builds. Using ninja instead of make speeds up the build from ~ 28 s to 17 s on my machine with 16 threads. - git and sudo are added for interactive use of the devcontainer - Store bash history in volume to preserve it across rebuilds - The non-root user infinitime with sudo password "it" was added and is used to avoid producing build artifacts owned by root - Split args into CMake generation time and CMake build time args - Allow passing the build directory in docker run --- .devcontainer/Dockerfile | 52 +++++++++++++++++++++++++++++++++ .devcontainer/devcontainer.json | 32 ++++++++++++++++++++ Dockerfile | 27 ----------------- README.md | 6 ++-- 4 files changed, 87 insertions(+), 30 deletions(-) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/devcontainer.json delete mode 100644 Dockerfile diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..7e149ee --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,52 @@ +FROM ubuntu:22.04 + +# Install dependencies +ARG DEBIAN_FRONTEND=noninteractive +ARG NODE_MAJOR=20 +RUN apt-get update -qq && \ + apt-get install -y \ + curl \ + cmake \ + ccache \ + libsdl2-dev \ + g++ \ + git \ + libpng-dev \ + ninja-build \ + sudo \ + python3-pip \ + python3-venv \ + && rm -rf /var/cache/apt/* /var/lib/apt/lists/* \ + && curl -sL https://deb.nodesource.com/setup_${NODE_MAJOR}.x -o nodesource_setup.sh \ + && bash nodesource_setup.sh \ + && apt-get install -y nodejs \ + && npm install -g lv_font_conv@1.5.2 \ + && pip install wheel Pillow + +# Add the infinitime user with sudo password "it" for developing in devcontainer +RUN adduser infinitime && echo "infinitime:it" | chpasswd && usermod -aG sudo infinitime + +# Persist bash history across container rebuilds +# Reference: https://code.visualstudio.com/remote/advancedcontainers/persist-bash-history +ARG USERNAME=infinitime +RUN SNIPPET="export PROMPT_COMMAND='history -a' && export HISTFILE=/commandhistory/.bash_history" \ + && mkdir /commandhistory \ + && touch /commandhistory/.bash_history \ + && chown -R $USERNAME /commandhistory \ + && echo "$SNIPPET" >> "/home/$USERNAME/.bashrc" + +USER infinitime + +# Section for interactive compilation during docker run + +WORKDIR /sources +# Directory if InfiniTime source code +ENV INFITIME_DIR="/sources/InfiniTime" +# Passed to CMake generate step +ENV GENERATE_ARGS="" +# Passed to CMake build step +ENV BUILD_ARGS="" +# Build directory +ENV BUILD_DIRECTORY="build" + +CMD ["bash", "-c", "cmake -S . -B ${BUILD_DIRECTORY} -G Ninja -DInfiniTime_DIR=${INFITIME_DIR} ${GENERATE_ARGS} && cmake --build ${BUILD_DIRECTORY} ${BUILD_ARGS}"] diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..be25078 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,32 @@ +// For format details, see https://aka.ms/devcontainer.json. +{ + "name": "InfiniSim Dev Container", + "build": { + "dockerfile": "Dockerfile" + }, + + // Configure tool-specific properties. + "customizations": { + "vscode": { + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "ms-vscode.cpptools", + "ms-vscode.cmake-tools", + "marus25.cortex-debug", + "notskm.clang-tidy", + "mjohns.clang-format", + "timonwong.shellcheck" + ] + } + }, + + "mounts": [ + // Local volume to store bash history across rebuilds + "source=projectname-bashhistory,target=/commandhistory,type=volume" + // Uncomment and modify path to mount external InfiniTime source into the container + //,"source=/home/example/git/InfiniTime,target=/workspaces/InfiniTime,type=bind,consistency=cached" + ], + + // Sudo password "it" + "remoteUser": "infinitime" +} diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 0dd9a96..0000000 --- a/Dockerfile +++ /dev/null @@ -1,27 +0,0 @@ -FROM ubuntu:22.04 - -# Install dependencies -ARG DEBIAN_FRONTEND=noninteractive -ARG NODE_MAJOR=20 -RUN apt-get update -qq && \ - apt-get install -y \ - curl \ - cmake \ - libsdl2-dev \ - g++ \ - libpng-dev \ - python3-pip \ - python3-venv \ - && rm -rf /var/cache/apt/* /var/lib/apt/lists/* \ - && curl -sL https://deb.nodesource.com/setup_${NODE_MAJOR}.x -o nodesource_setup.sh \ - && bash nodesource_setup.sh \ - && apt-get install -y nodejs \ - && npm install -g lv_font_conv@1.5.2 \ - && pip install wheel Pillow - -WORKDIR /sources -# Build configuration environment variables -ENV INFITIME_DIR="/sources/InfiniTime" -ENV BUILD_FLAGS="" - -CMD ["bash", "-c", "cmake -S . -B build -DInfiniTime_DIR=${INFITIME_DIR} ${BUILD_FLAGS} && cmake --build build -j4"] diff --git a/README.md b/README.md index c1d4b9c..f74b9b3 100644 --- a/README.md +++ b/README.md @@ -115,7 +115,7 @@ The following configuration settings can be added to the first `cmake -S . -B bu You can also build the simulator using Docker. This is useful if you don't want to install all the dependencies on your system. First build the Docker image: ```sh -docker build -t infinisim-build . +docker build -t infinisim-build .devcontainer ``` Afterwards you can build the simulator with: @@ -128,9 +128,9 @@ By default this builds the InfiniTime from the submodule in your ${PWD}. If you docker run --rm -it -v ${PWD}:/sources -v ${PWD}/../InfiniTime:/infinitime -e INFITIME_DIR=/infinitime infinisim-build ``` -Other build configurations can be passed to the BUILD_FLAGS variable: +Other CMake generation and build arguments can be passed to the GENERATE_ARGS and BUILD_ARGS variables: ```sh -docker run --rm -it -v ${PWD}:/sources -e BUILD_FLAGS=-DENABLE_USERAPPS="Apps::MyApp,Apps::Alarm" infinisim-build +docker run --rm -it -v ${PWD}:/sources -e GENERATE_ARGS=-DENABLE_USERAPPS="Apps::Timer,Apps::Alarm" -e BUILD_ARGS=-j16 infinisim-build ``` From eb8e6dacfa4f06cd23fd890a3de9d2f3519d62fa Mon Sep 17 00:00:00 2001 From: Darius Arnold Date: Sun, 9 Mar 2025 17:50:28 +0100 Subject: [PATCH 05/13] Apply suggestions from code review Co-authored-by: NeroBurner --- README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f74b9b3..2afbcf6 100644 --- a/README.md +++ b/README.md @@ -112,7 +112,8 @@ The following configuration settings can be added to the first `cmake -S . -B bu ### Build with Docker -You can also build the simulator using Docker. This is useful if you don't want to install all the dependencies on your system. +You can also build the simulator using Docker. +This is useful if you don't want to install all the dependencies on your system. First build the Docker image: ```sh docker build -t infinisim-build .devcontainer @@ -123,12 +124,13 @@ Afterwards you can build the simulator with: docker run --rm -it -v ${PWD}:/sources infinisim-build ``` -By default this builds the InfiniTime from the submodule in your ${PWD}. If you want to use a different repository, you got to mount it and pass the path to the `INFITIME_DIR` variable: +By default this builds the InfiniTime from the submodule in your `${PWD}`. +If you want to use a different repository, you got to mount it and pass the path to the `INFINITIME_DIR` variable: ```sh -docker run --rm -it -v ${PWD}:/sources -v ${PWD}/../InfiniTime:/infinitime -e INFITIME_DIR=/infinitime infinisim-build +docker run --rm -it -v ${PWD}:/sources -v ${PWD}/../InfiniTime:/infinitime -e INFINITIME_DIR=/infinitime infinisim-build ``` -Other CMake generation and build arguments can be passed to the GENERATE_ARGS and BUILD_ARGS variables: +Other CMake generation and build arguments can be passed to the `GENERATE_ARGS` and `BUILD_ARGS` variables: ```sh docker run --rm -it -v ${PWD}:/sources -e GENERATE_ARGS=-DENABLE_USERAPPS="Apps::Timer,Apps::Alarm" -e BUILD_ARGS=-j16 infinisim-build ``` From 3dcb80cc3c4d743d138c34919c0905c5b7b09ede Mon Sep 17 00:00:00 2001 From: Darius Arnold Date: Sun, 9 Mar 2025 17:18:10 +0000 Subject: [PATCH 06/13] Use Ubuntu 24.04 for devcontainer - Change the container user to ubuntu:ubuntu since that one already exists anyway. There were also permisison issues stemming from not using ubuntu since the external user would likely have UID 1000 (at least on single user systems). That would lead to external files mapped into the container being owned by ubuntu, not infinitime, which has UID 1001 - Split installation into three sections to increase layer granularity for caching - Remove node install script after usage to reduce container size --- .devcontainer/Dockerfile | 39 ++++++++++++++++++++++----------- .devcontainer/devcontainer.json | 4 ++-- 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 7e149ee..efcee41 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,10 +1,10 @@ -FROM ubuntu:22.04 +FROM ubuntu:24.04 -# Install dependencies +# Install apt dependencies ARG DEBIAN_FRONTEND=noninteractive ARG NODE_MAJOR=20 -RUN apt-get update -qq && \ - apt-get install -y \ +RUN apt-get update -qq \ + && apt-get install -y \ curl \ cmake \ ccache \ @@ -16,26 +16,38 @@ RUN apt-get update -qq && \ sudo \ python3-pip \ python3-venv \ - && rm -rf /var/cache/apt/* /var/lib/apt/lists/* \ - && curl -sL https://deb.nodesource.com/setup_${NODE_MAJOR}.x -o nodesource_setup.sh \ + && rm -rf /var/cache/apt/* /var/lib/apt/lists/* + +# Install nodejs based dependencies +RUN curl -sL https://deb.nodesource.com/setup_${NODE_MAJOR}.x -o nodesource_setup.sh \ && bash nodesource_setup.sh \ + && apt-get update -qq \ && apt-get install -y nodejs \ - && npm install -g lv_font_conv@1.5.2 \ - && pip install wheel Pillow + && npm install -g \ + lv_font_conv@1.5.2 \ + && rm nodesource_setup.sh \ + && rm -rf /var/cache/apt/* /var/lib/apt/lists/* + +# Install Python dependencies +RUN pip install --break-system-packages \ + wheel \ + Pillow \ + && pip cache purge -# Add the infinitime user with sudo password "it" for developing in devcontainer -RUN adduser infinitime && echo "infinitime:it" | chpasswd && usermod -aG sudo infinitime +# The user ubuntu already exists set its password to ubuntu and add to sudo group for developing in devcontainer +RUN usermod -aG sudo ubuntu \ + && echo "ubuntu:ubuntu" | chpasswd # Persist bash history across container rebuilds # Reference: https://code.visualstudio.com/remote/advancedcontainers/persist-bash-history -ARG USERNAME=infinitime +ARG USERNAME=ubuntu RUN SNIPPET="export PROMPT_COMMAND='history -a' && export HISTFILE=/commandhistory/.bash_history" \ && mkdir /commandhistory \ && touch /commandhistory/.bash_history \ && chown -R $USERNAME /commandhistory \ && echo "$SNIPPET" >> "/home/$USERNAME/.bashrc" -USER infinitime +USER ubuntu # Section for interactive compilation during docker run @@ -49,4 +61,5 @@ ENV BUILD_ARGS="" # Build directory ENV BUILD_DIRECTORY="build" -CMD ["bash", "-c", "cmake -S . -B ${BUILD_DIRECTORY} -G Ninja -DInfiniTime_DIR=${INFITIME_DIR} ${GENERATE_ARGS} && cmake --build ${BUILD_DIRECTORY} ${BUILD_ARGS}"] +CMD ["bash", "-c", "cmake -S . -B ${BUILD_DIRECTORY} -G Ninja -DInfiniTime_DIR=${INFITIME_DIR} ${GENERATE_ARGS} \ + && cmake --build ${BUILD_DIRECTORY} ${BUILD_ARGS}"] diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index be25078..91c94bd 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -27,6 +27,6 @@ //,"source=/home/example/git/InfiniTime,target=/workspaces/InfiniTime,type=bind,consistency=cached" ], - // Sudo password "it" - "remoteUser": "infinitime" + // Sudo password "ubuntu" + "remoteUser": "ubuntu" } From b0a10aababb06a5491ab657aad4c4171c38f82d9 Mon Sep 17 00:00:00 2001 From: Darius Arnold Date: Sun, 9 Mar 2025 17:20:03 +0000 Subject: [PATCH 07/13] Fix typo --- .devcontainer/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index efcee41..89a5da8 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -53,7 +53,7 @@ USER ubuntu WORKDIR /sources # Directory if InfiniTime source code -ENV INFITIME_DIR="/sources/InfiniTime" +ENV INFINITIME_DIR="/sources/InfiniTime" # Passed to CMake generate step ENV GENERATE_ARGS="" # Passed to CMake build step @@ -61,5 +61,5 @@ ENV BUILD_ARGS="" # Build directory ENV BUILD_DIRECTORY="build" -CMD ["bash", "-c", "cmake -S . -B ${BUILD_DIRECTORY} -G Ninja -DInfiniTime_DIR=${INFITIME_DIR} ${GENERATE_ARGS} \ +CMD ["bash", "-c", "cmake -S . -B ${BUILD_DIRECTORY} -G Ninja -DInfiniTime_DIR=${INFINITIME_DIR} ${GENERATE_ARGS} \ && cmake --build ${BUILD_DIRECTORY} ${BUILD_ARGS}"] From 9f715dee266d7d749aee4a703bace6fcfd902d1f Mon Sep 17 00:00:00 2001 From: Darius Arnold Date: Sun, 9 Mar 2025 20:26:35 +0000 Subject: [PATCH 08/13] Add gdb to allow debugging inside of the dev container --- .devcontainer/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 89a5da8..d768ef9 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -10,6 +10,7 @@ RUN apt-get update -qq \ ccache \ libsdl2-dev \ g++ \ + gdb \ git \ libpng-dev \ ninja-build \ From 99585fef5cdcf5b4da264619125b4f8e21963972 Mon Sep 17 00:00:00 2001 From: Darius Arnold Date: Tue, 11 Mar 2025 15:31:51 +0000 Subject: [PATCH 09/13] Set name of dev container bash history volume to infinisim-bashhistory --- .devcontainer/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 91c94bd..fa95582 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -22,7 +22,7 @@ "mounts": [ // Local volume to store bash history across rebuilds - "source=projectname-bashhistory,target=/commandhistory,type=volume" + "source=infinisim-bashhistory,target=/commandhistory,type=volume" // Uncomment and modify path to mount external InfiniTime source into the container //,"source=/home/example/git/InfiniTime,target=/workspaces/InfiniTime,type=bind,consistency=cached" ], From 2a188e6ec015a3e4087918e784e4d36de7ba0048 Mon Sep 17 00:00:00 2001 From: Darius Arnold Date: Tue, 11 Mar 2025 16:09:14 +0000 Subject: [PATCH 10/13] Add a workaround for error "Status 500: unable to find user ubuntu: no matching entries in passwd file" when build dev container in CLion Clion tries to read the local /etc/password when building to change the UID of ther user in the container to the one from outside. If your /etc/passwd does not have this entry, it will fail to build. Comment this in if you do want to use the dev container CLion (at least CLion 2024.3.4, Build #JBC-243.25659.42. It is reported to Jetbrains). --- .devcontainer/devcontainer.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index fa95582..3cfe3a8 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -29,4 +29,8 @@ // Sudo password "ubuntu" "remoteUser": "ubuntu" + // This might be needed when you do not have a local user called ubuntu but your dev container implementation + // tries to find it in the local /etc/passwd and fails to build your container. + // The default is true. + //,"updateRemoteUserUID": false } From c194851e452a67278bbb84ae7168c6847ed897e2 Mon Sep 17 00:00:00 2001 From: Darius Arnold Date: Tue, 11 Mar 2025 17:28:32 +0100 Subject: [PATCH 11/13] Fix spelling, variable names, improve docs Suggestions from code review Co-authored-by: NeroBurner --- .devcontainer/Dockerfile | 4 ++-- README.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index d768ef9..207c278 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -53,7 +53,7 @@ USER ubuntu # Section for interactive compilation during docker run WORKDIR /sources -# Directory if InfiniTime source code +# Directory of InfiniTime source code ENV INFINITIME_DIR="/sources/InfiniTime" # Passed to CMake generate step ENV GENERATE_ARGS="" @@ -62,5 +62,5 @@ ENV BUILD_ARGS="" # Build directory ENV BUILD_DIRECTORY="build" -CMD ["bash", "-c", "cmake -S . -B ${BUILD_DIRECTORY} -G Ninja -DInfiniTime_DIR=${INFINITIME_DIR} ${GENERATE_ARGS} \ +CMD ["bash", "-c", "cmake -S . -B ${BUILD_DIRECTORY} -G Ninja -DInfiniTime_DIR=${InfiniTime_DIR} ${GENERATE_ARGS} \ && cmake --build ${BUILD_DIRECTORY} ${BUILD_ARGS}"] diff --git a/README.md b/README.md index 2afbcf6..9ac1747 100644 --- a/README.md +++ b/README.md @@ -124,7 +124,7 @@ Afterwards you can build the simulator with: docker run --rm -it -v ${PWD}:/sources infinisim-build ``` -By default this builds the InfiniTime from the submodule in your `${PWD}`. +By default this builds the simulator using the InfiniTime files from the submodule in your `${PWD}`. If you want to use a different repository, you got to mount it and pass the path to the `INFINITIME_DIR` variable: ```sh docker run --rm -it -v ${PWD}:/sources -v ${PWD}/../InfiniTime:/infinitime -e INFINITIME_DIR=/infinitime infinisim-build From 8d1224f746edf5e6ccef668f6e4d86856ef768df Mon Sep 17 00:00:00 2001 From: Darius Arnold Date: Tue, 11 Mar 2025 16:27:19 +0000 Subject: [PATCH 12/13] Remove copy-pasted hardware debugging extension --- .devcontainer/devcontainer.json | 1 - 1 file changed, 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 3cfe3a8..0fe8586 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -12,7 +12,6 @@ "extensions": [ "ms-vscode.cpptools", "ms-vscode.cmake-tools", - "marus25.cortex-debug", "notskm.clang-tidy", "mjohns.clang-format", "timonwong.shellcheck" From dfe0445b3dae19ca29b37cf2d2cbb59fcc208a2a Mon Sep 17 00:00:00 2001 From: Darius Arnold Date: Tue, 11 Mar 2025 16:31:06 +0000 Subject: [PATCH 13/13] Fix variable capitalization completely --- .devcontainer/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 207c278..df4af73 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -53,8 +53,8 @@ USER ubuntu # Section for interactive compilation during docker run WORKDIR /sources -# Directory of InfiniTime source code -ENV INFINITIME_DIR="/sources/InfiniTime" +# Directory if InfiniTime source code +ENV InfiniTime_DIR="/sources/InfiniTime" # Passed to CMake generate step ENV GENERATE_ARGS="" # Passed to CMake build step