This is an automated email from the ASF dual-hosted git repository.
zfc pushed a commit to branch main
in repository
https://gitbox.apache.org/repos/asf/incubator-teaclave-trustzone-sdk.git
The following commit(s) were added to refs/heads/main by this push:
new 00464e5 build-env: introduce env for building std ta.
00464e5 is described below
commit 00464e5b2f13816a37b13e325d6516ed4bd3f81c
Author: Zhaofeng Chen <[email protected]>
AuthorDate: Wed Jul 9 09:24:41 2025 +0000
build-env: introduce env for building std ta.
build-env: revert hello_world ta Makefile.
build-env: minimize hello-world makefile changes for compatibility
build-env: update readme related with std docker env.
build-env: unify permalinks in enmulate-and-dev docs.
---
Dockerfile.dev | 62 +++++++++++---
README.md | 5 +-
docs/README.md | 1 +
docs/emulate-and-dev-in-docker-std.md | 122 +++++++++++++++++++++++++++
docs/emulate-and-dev-in-docker.md | 2 +-
examples/hello_world-rs/ta/Makefile | 2 +-
scripts/entrypoint.sh | 84 ++++++++++++++++++
scripts/runtime/bin/switch_config | 3 +
scripts/runtime/config/ta/no-std/aarch64 | 3 +
scripts/runtime/config/ta/no-std/arm32 | 3 +
scripts/runtime/config/ta/std/aarch64 | 6 ++
scripts/runtime/config/ta/std/arm32 | 6 ++
scripts/runtime/environment | 2 -
scripts/setup-std/setup_rust_std.sh | 52 ++++++++++++
scripts/setup/{environment => bootstrap_env} | 0
scripts/setup/rust-toolchain.toml | 25 ------
scripts/setup/setup_toolchain.sh | 5 --
17 files changed, 336 insertions(+), 47 deletions(-)
diff --git a/Dockerfile.dev b/Dockerfile.dev
index 400ea02..831774e 100644
--- a/Dockerfile.dev
+++ b/Dockerfile.dev
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
-FROM ubuntu:24.04
+FROM ubuntu:24.04 AS no-std-build-env
# Base environment
ENV TEACLAVE_TOOLCHAIN_BASE=/opt/teaclave
@@ -27,22 +27,60 @@ COPY scripts/setup ${TEACLAVE_TOOLCHAIN_BASE}/setup
WORKDIR ${TEACLAVE_TOOLCHAIN_BASE}/setup
RUN ./install_dependencies.sh
-RUN . ./environment && ./prepare_emulator_images.sh
-RUN . ./environment && ./setup_toolchain.sh
-RUN . ./environment && ./build_optee_libraries.sh
+RUN . ./bootstrap_env && ./prepare_emulator_images.sh
+
+# Copy rust-toolchain.toml to root so it applies container-wide
+COPY rust-toolchain.toml /rust-toolchain.toml
+RUN . ./bootstrap_env && ./setup_toolchain.sh
+
+RUN . ./bootstrap_env && ./build_optee_libraries.sh
# Set up shell environment and link useful scripts
COPY scripts/runtime/bin ${TEACLAVE_TOOLCHAIN_BASE}/bin
-COPY scripts/runtime/config ${TEACLAVE_TOOLCHAIN_BASE}/config
+COPY scripts/runtime/config/host ${TEACLAVE_TOOLCHAIN_BASE}/config/host
+COPY scripts/runtime/config/ta/no-std
${TEACLAVE_TOOLCHAIN_BASE}/config/ta/no-std
COPY scripts/runtime/environment ${TEACLAVE_TOOLCHAIN_BASE}/environment
-RUN chmod +x ${TEACLAVE_TOOLCHAIN_BASE}/bin/*
-RUN echo "source ${HOME}/.cargo/env" >> "${HOME}/.profile" && \
- echo "source ${TEACLAVE_TOOLCHAIN_BASE}/setup/environment" >>
"${HOME}/.profile" && \
- echo "source ${TEACLAVE_TOOLCHAIN_BASE}/environment" >> "${HOME}/.profile"
&& \
- echo "export PATH=${TEACLAVE_TOOLCHAIN_BASE}/bin:\$PATH" >>
"${HOME}/.profile"
+# Copy and set up entrypoint
+COPY scripts/entrypoint.sh /entrypoint.sh
+
WORKDIR "/root"
-# Default interactive shell, use bash -l to load the environment variables
-CMD ["/bin/bash", "-l"]
+# Set default shell to bash
+SHELL ["/bin/bash", "-c"]
+
+# Set entrypoint
+ENTRYPOINT ["/entrypoint.sh"]
+
+# Default command for interactive use
+CMD []
+
+########### std build env ###########
+From no-std-build-env AS std-build-env
+
+ENV TEACLAVE_TOOLCHAIN_BASE=/opt/teaclave
+ENV RUST_STD_DIR=${TEACLAVE_TOOLCHAIN_BASE}/std
+
+# Add std TA configurations to the inherited no-std environment
+COPY scripts/runtime/config/ta/std ${TEACLAVE_TOOLCHAIN_BASE}/config/ta/std
+
+COPY scripts/setup-std ${TEACLAVE_TOOLCHAIN_BASE}/setup-std
+
+WORKDIR ${TEACLAVE_TOOLCHAIN_BASE}/setup-std
+
+# setup rust-std
+RUN . ${HOME}/.cargo/env && . ./setup_rust_std.sh
+
+# copy customized-target.json to $RUST_STD_DIR for std development use
+COPY arm-unknown-optee.json $RUST_STD_DIR
+COPY aarch64-unknown-optee.json $RUST_STD_DIR
+
+# set default TA configuration to std for this build variant
+RUN cd ${TEACLAVE_TOOLCHAIN_BASE}/config/ta && ln -sf "std/aarch64" active
+
+# export rust-std root env for std build variant only
+RUN echo "export RUST_STD_DIR=${RUST_STD_DIR}" >> "${HOME}/.profile"
+
+# switch to root directory for bash interactive use
+WORKDIR "/root"
\ No newline at end of file
diff --git a/README.md b/README.md
index 7017ea6..41a68a8 100644
--- a/README.md
+++ b/README.md
@@ -94,7 +94,10 @@ complete TrustZone development environment with QEMU
emulation, pre-built toolch
and monitoring tools - no manual configuration required.
We highly recommend starting here for the fastest and most reliable setup
experience.
-- 🚀 [Quick Emulation And Development in
Docker](docs/emulate-and-dev-in-docker.md)
+
+**Choose your development mode:**
+- 🚀 [Quick Emulation And Development in
Docker](docs/emulate-and-dev-in-docker.md) - **No-std TA development**
(recommended for most users)
+- 🚀 [Developing TAs with Rust Standard
Library](docs/emulate-and-dev-in-docker-std.md) - **Std TA development** with
Docker std environment
## Use the SDK as submodule in OP-TEE Repo
diff --git a/docs/README.md b/docs/README.md
index 6cc58d9..00f3f2a 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -5,6 +5,7 @@ permalink: /trustzone-sdk-docs
# Teaclave TrustZone SDK Documentation
* [Quick Emulation And Development in Docker](emulate-and-dev-in-docker.md)
+* [Developing TAs with Rust Standard Library in
Docker](emulate-and-dev-in-docker-std.md)
* [Overview of OP-TEE Rust Examples](overview-of-optee-rust-examples.md)
* [Debugging OP-TEE TA](debugging-optee-ta.md)
* [Expanding TA Secure Memory on
QEMUv8](expanding-ta-secure-memory-on-qemuv8.md)
diff --git a/docs/emulate-and-dev-in-docker-std.md
b/docs/emulate-and-dev-in-docker-std.md
new file mode 100644
index 0000000..a73fa50
--- /dev/null
+++ b/docs/emulate-and-dev-in-docker-std.md
@@ -0,0 +1,122 @@
+---
+permalink: /trustzone-sdk-docs/emulate-and-dev-in-docker-std.md
+---
+
+# 🚀 Developing TAs with Rust Standard Library in Docker
+
+This guide covers the **dev-env with std support** that enables **developing
TA using Rust standard library (std)**,
+compared to the regular no-std environment documented in
[emulate-and-dev-in-docker.md](emulate-and-dev-in-docker.md).
+
+The **dev-env with std support** provides a complete setup for building TAs
that can use Rust's standard library features like collections, networking, etc.
+
+> 📖 **Prerequisites**: Read the [original Docker development
guide](emulate-and-dev-in-docker.md)
+> first. This document focuses only on std-specific differences and
capabilities.
+
+## What the Dev-Env with Std Support Provides
+
+The **dev-env with std support** enables **developing TA using Rust std** by
providing:
+- **Flexible configuration management** - Switch between std/no-std modes and
architectures dynamically
+- **Rust standard library tailored for OP-TEE** - Build TAs using collections,
networking, serialization capabilities
+- **Mixed development support** - Combine different host and TA architectures,
including switching between no-std/std in the same project
+
+## 1. Setting Up the Dev-Env with Std Support
+
+### Pull the Docker Image
+```bash
+# Pull the dev-env with std support for developing TA using Rust std
+$ docker pull
teaclave/teaclave-trustzone-emulator-std-optee-4.5.0-expand-memory:latest
+
+# Launch the dev-env container
+$ docker run -it --rm \
+ --name teaclave_dev_env \
+ -v $(pwd):/root/teaclave_sdk_src \
+ -w /root/teaclave_sdk_src \
+ teaclave/teaclave-trustzone-emulator-std-optee-4.5.0-expand-memory:latest
+```
+
+### One-Time Setup Inside Container
+```bash
+# Create symbolic link to make it compatiable with existing SDK examples
+$ ln -s $RUST_STD_DIR rust
+```
+
+> 📝 **Note**: This symlink is required for current SDK examples due to
hardcoded std dependency paths in Cargo.toml. Your own projects may organize
std files differently.
+
+## 2. Configuration Management System
+
+The key difference is the **unified configuration system** that allows
switching between std/no-std modes and different architectures on demand.
+
+### Check Available Configurations
+```bash
+# Show current active configuration
+$ switch_config --status
+
+# List all supported configurations
+$ switch_config --list
+```
+
+**TA Configurations Available:**
+- `std/aarch64`, `std/arm32` - With Rust standard library
+- `no-std/aarch64`, `no-std/arm32` - Without standard library
+
+**Host Configurations Available:** `aarch64`, `arm32`
+
+**Default Configuration:** Host=`aarch64`, TA=`std/aarch64`
+
+### Switching Between Configurations
+```bash
+# Switch TA configurations
+$ switch_config --ta std/aarch64 # Enable std for 64-bit TA
+$ switch_config --ta std/arm32 # Enable std for 32-bit TA
+$ switch_config --ta no-std/aarch64 # Disable std, use 64-bit no-std
+
+# Switch host architecture
+$ switch_config --host arm32 # Use 32-bit host
+
+# Mixed development example: 32-bit host + 64-bit std TA
+$ switch_config --host arm32 && switch_config --ta std/aarch64
+```
+
+## 3. Building and Target Differences
+
+Follow the [original building
instructions](emulate-and-dev-in-docker.md#2-build-the-hello-world-example),
but note these important target differences:
+
+| Configuration | TA Target | Build Tool | Host Target |
+|---------------|-----------|------------|-------------|
+| `std/*` | `*-unknown-optee` | `xargo` | `*-unknown-linux-gnu` |
+| `no-std/*` | `*-unknown-linux-gnu` | `cargo` | `*-unknown-linux-gnu` |
+
+**Example std build output:**
+```bash
+TA=ta/target/aarch64-unknown-optee/release/133af0ca-bdab-11eb-9130-43bf7873bf67.ta
+```
+
+## 4. Hello World Example: Std vs No-Std
+
+### Build with Default Std Configuration
+```bash
+# Build hello world with std/aarch64 (default configuration)
+$ cd examples/hello_world-rs/
+$ make
+```
+
+**Result:** TA built with std enabled, targeting `aarch64-unknown-optee`:
+```bash
+TA=ta/target/aarch64-unknown-optee/release/133af0ca-bdab-11eb-9130-43bf7873bf67.ta
+```
+
+### Switch to No-Std and Rebuild
+```bash
+# Switch TA to no-std mode and rebuild
+$ switch_config --ta no-std/aarch64
+$ make clean && make
+```
+
+**Result:** TA now targets `aarch64-unknown-linux-gnu` (no-std):
+```bash
+TA=ta/target/aarch64-unknown-linux-gnu/release/133af0ca-bdab-11eb-9130-43bf7873bf67.ta
+```
+
+## 5. Emulation and Execution
+
+The emulation process is identical to the no-std environment. Follow [sections
3-6 of the original
guide](emulate-and-dev-in-docker.md#3-make-the-artifacts-accessible-to-the-emulator)
for complete emulation setup instructions.
diff --git a/docs/emulate-and-dev-in-docker.md
b/docs/emulate-and-dev-in-docker.md
index 0004cd8..950d053 100644
--- a/docs/emulate-and-dev-in-docker.md
+++ b/docs/emulate-and-dev-in-docker.md
@@ -1,5 +1,5 @@
---
-permalink: /trustzone-sdk-docs/dev-and-emulate-in-docker.md
+permalink: /trustzone-sdk-docs/emulate-and-dev-in-docker.md
---
# 🚀 Quick Start For QEMU Emulation
diff --git a/examples/hello_world-rs/ta/Makefile
b/examples/hello_world-rs/ta/Makefile
index fd37946..4a00808 100644
--- a/examples/hello_world-rs/ta/Makefile
+++ b/examples/hello_world-rs/ta/Makefile
@@ -27,7 +27,7 @@ TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
OUT_DIR := $(CURDIR)/target/$(TARGET)/release
-BUILDER = $(if $(STD),xargo,cargo)
+BUILDER ?= $(if $(STD),xargo,cargo)
all: ta strip sign
diff --git a/scripts/entrypoint.sh b/scripts/entrypoint.sh
new file mode 100755
index 0000000..d0e07ce
--- /dev/null
+++ b/scripts/entrypoint.sh
@@ -0,0 +1,84 @@
+#!/bin/bash
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Docker entrypoint script for Teaclave TrustZone SDK development environment
+
+set -e
+
+# Unified switch_config function as a wrapper for switch_config in the
toolchain
+# The function reloads the environment in current shell after switch_config is
executed
+define_switch_config() {
+ cat << 'EOF'
+switch_config() {
+ if ${TEACLAVE_TOOLCHAIN_BASE}/bin/switch_config "$@"; then
+ case "$1" in
+ --ta|--host)
+ echo ""
+ echo "Reloading environment in current shell..."
+ source ${TEACLAVE_TOOLCHAIN_BASE}/environment
+ echo "✅ Configuration applied to current shell!"
+ ;;
+ esac
+ fi
+}
+export -f switch_config
+EOF
+}
+
+# Set up bash profile with all necessary environment sources
+setup_bash_profile() {
+ echo "Setting up bash profile environment..."
+
+ # Clear existing bashrc to avoid circular sourcing
+ > ~/.bashrc
+
+ # Add core environment sources to .profile (preserve any existing
build-time setup)
+ cat >> ~/.profile << 'EOF'
+# Teaclave TrustZone SDK Environment Setup (added by entrypoint)
+source ${HOME}/.cargo/env
+source ${TEACLAVE_TOOLCHAIN_BASE}/setup/bootstrap_env
+source ${TEACLAVE_TOOLCHAIN_BASE}/environment
+export PATH=${TEACLAVE_TOOLCHAIN_BASE}/bin:$PATH
+EOF
+
+ # Add interactive shell setup to .bashrc (NO profile sourcing to avoid
circular dependency)
+ cat >> ~/.bashrc << 'EOF'
+# Teaclave TrustZone SDK interactive shell setup
+EOF
+
+ # Append the unified function definition
+ define_switch_config >> ~/.bashrc
+
+ # Pre-source cargo environment for current session
+ source ${HOME}/.cargo/env
+}
+
+# Set up the bash profile
+setup_bash_profile
+
+# Define switch_config function for current session by sourcing the definition
+eval "$(define_switch_config)"
+
+# If no command provided, start interactive bash
+if [ $# -eq 0 ]; then
+ exec /bin/bash -l
+else
+ # Execute the provided command
+ exec "$@"
+fi
\ No newline at end of file
diff --git a/scripts/runtime/bin/switch_config
b/scripts/runtime/bin/switch_config
index 9ccde1f..f0aa94b 100755
--- a/scripts/runtime/bin/switch_config
+++ b/scripts/runtime/bin/switch_config
@@ -37,6 +37,9 @@ show_usage() {
echo " $0 --host aarch64 # Switch Host only"
echo " $0 --status # Show current status"
echo " $0 --list # List available configs"
+ echo ""
+ echo "Note: In Docker containers, use the wrapper function 'switch_config'"
+ echo "which automatically reloads the environment in your current shell."
}
# Function to show current status
diff --git a/scripts/runtime/config/ta/no-std/aarch64
b/scripts/runtime/config/ta/no-std/aarch64
index 26223f6..d055800 100644
--- a/scripts/runtime/config/ta/no-std/aarch64
+++ b/scripts/runtime/config/ta/no-std/aarch64
@@ -18,3 +18,6 @@
export TA_DEV_KIT_DIR="$OPTEE_OS_DIR/out/arm-plat-vexpress/export-ta_arm64"
export TARGET_TA="aarch64-unknown-linux-gnu"
export CROSS_COMPILE_TA="aarch64-linux-gnu-"
+
+# sdk example using this env to distinguish between xargo and cargo
+export BUILDER="cargo"
diff --git a/scripts/runtime/config/ta/no-std/arm32
b/scripts/runtime/config/ta/no-std/arm32
index 3fbf564..b2c8a04 100644
--- a/scripts/runtime/config/ta/no-std/arm32
+++ b/scripts/runtime/config/ta/no-std/arm32
@@ -18,3 +18,6 @@
export TA_DEV_KIT_DIR="$OPTEE_OS_DIR/out/arm-plat-vexpress/export-ta_arm32"
export TARGET_TA="arm-unknown-linux-gnueabihf"
export CROSS_COMPILE_TA="arm-linux-gnueabihf-"
+
+# sdk example using this env to distinguish between xargo and cargo
+export BUILDER="cargo"
diff --git a/scripts/runtime/config/ta/std/aarch64
b/scripts/runtime/config/ta/std/aarch64
index 7b3ec04..2fa16ee 100644
--- a/scripts/runtime/config/ta/std/aarch64
+++ b/scripts/runtime/config/ta/std/aarch64
@@ -18,3 +18,9 @@
export TA_DEV_KIT_DIR="$OPTEE_OS_DIR/out/arm-plat-vexpress/export-ta_arm64"
export TARGET_TA="aarch64-unknown-optee"
export CROSS_COMPILE_TA="aarch64-linux-gnu-"
+
+# sdk example using this env to distinguish between xargo and cargo
+export BUILDER="xargo"
+
+# assume $customized-target.json is located here
+export RUST_TARGET_PATH=$RUST_STD_DIR
diff --git a/scripts/runtime/config/ta/std/arm32
b/scripts/runtime/config/ta/std/arm32
index 2dd2ead..045bb0b 100644
--- a/scripts/runtime/config/ta/std/arm32
+++ b/scripts/runtime/config/ta/std/arm32
@@ -18,3 +18,9 @@
export TA_DEV_KIT_DIR="$OPTEE_OS_DIR/out/arm-plat-vexpress/export-ta_arm32"
export TARGET_TA="arm-unknown-optee"
export CROSS_COMPILE_TA="arm-linux-gnueabihf-"
+
+# sdk example using this env to distinguish between xargo and cargo
+export BUILDER="xargo"
+
+# assume $customized-target.json is located here
+export RUST_TARGET_PATH=$RUST_STD_DIR
diff --git a/scripts/runtime/environment b/scripts/runtime/environment
index 33633af..7da9e98 100755
--- a/scripts/runtime/environment
+++ b/scripts/runtime/environment
@@ -90,5 +90,3 @@ echo " CROSS_COMPILE_HOST: $CROSS_COMPILE_HOST"
echo " OPTEE_CLIENT_EXPORT: $OPTEE_CLIENT_EXPORT"
echo ""
echo "QEMU Shared Directory: $QEMU_HOST_SHARE_DIR"
-echo ""
-echo "[env] Configured Successfully for building OP-TEE applications."
diff --git a/scripts/setup-std/setup_rust_std.sh
b/scripts/setup-std/setup_rust_std.sh
new file mode 100755
index 0000000..5f5c158
--- /dev/null
+++ b/scripts/setup-std/setup_rust_std.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+set -xe
+
+# Validate required environment variables
+: "${RUST_STD_DIR:?RUST_STD_DIR must be set - directory where rust-std will be
installed}"
+
+# expected layout
+# $RUST_STD_DIR/rust
+# $RUST_STD_DIR/libc
+# $RUST_STD_DIR/$customized-target1.json
+# $RUST_STD_DIR/$customized-target2.json
+
+mkdir -p $RUST_STD_DIR
+cd $RUST_STD_DIR
+
+# install Xargo if not exist
+which xargo || cargo +stable install xargo
+
+# initialize submodules: rust / libc with pinned versions for reproducible
builds
+RUST_BRANCH=optee-xargo
+RUST_COMMIT=HEAD # TODO: Pin to specific commit hash for reproducible builds
+LIBC_BRANCH=optee
+LIBC_COMMIT=HEAD # TODO: Pin to specific commit hash for reproducible builds
+
+echo "Cloning rust (branch: $RUST_BRANCH) and libc (branch: $LIBC_BRANCH)..."
+
+git clone --depth=1 -b $RUST_BRANCH https://github.com/DemesneGH/rust.git && \
+ (cd rust && \
+ git submodule update --init library/stdarch && \
+ git submodule update --init library/backtrace)
+
+git clone --depth=1 -b $LIBC_BRANCH https://github.com/DemesneGH/libc.git
+
+echo "rust-std initialized at $RUST_STD_DIR"
diff --git a/scripts/setup/environment b/scripts/setup/bootstrap_env
similarity index 100%
rename from scripts/setup/environment
rename to scripts/setup/bootstrap_env
diff --git a/scripts/setup/rust-toolchain.toml
b/scripts/setup/rust-toolchain.toml
deleted file mode 100644
index f5affd4..0000000
--- a/scripts/setup/rust-toolchain.toml
+++ /dev/null
@@ -1,25 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-# Toolchain override for rustup
-
-[toolchain]
-channel = "nightly-2024-05-15"
-components = [ "rust-src" ]
-targets = ["aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabihf"]
-# minimal profile: install rustc, cargo, and rust-std
-profile = "minimal"
\ No newline at end of file
diff --git a/scripts/setup/setup_toolchain.sh b/scripts/setup/setup_toolchain.sh
index daf7447..6b1eed4 100755
--- a/scripts/setup/setup_toolchain.sh
+++ b/scripts/setup/setup_toolchain.sh
@@ -19,11 +19,6 @@
set -xe
-##########################################
-# move to project root
-cd "$(dirname "$0")"
-
-##########################################
export CARGO_NET_GIT_FETCH_WITH_CLI=true
# install rustup and stable Rust if needed
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]