forked from ROMEO/obsw
53 lines
1.4 KiB
Docker
53 lines
1.4 KiB
Docker
FROM debian:bookworm-slim
|
|
|
|
# Install required packages
|
|
RUN apt-get update && apt-get install -y \
|
|
build-essential \
|
|
cmake \
|
|
gcc \
|
|
g++ \
|
|
git \
|
|
curl \
|
|
wget \
|
|
make \
|
|
openocd \
|
|
gdb-multiarch \
|
|
gcc-arm-none-eabi \
|
|
fish \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
# Install Rust toolchain
|
|
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain nightly
|
|
ENV PATH="/root/.cargo/bin:${PATH}"
|
|
RUN rustup target add armv7-unknown-linux-gnueabihf
|
|
RUN rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
|
|
RUN rustup override set nightly
|
|
|
|
# # Clone FSBL code from the Xilinx repository
|
|
# RUN git clone https://github.com/Xilinx/embeddedsw.git
|
|
# # Build the FSBL
|
|
# RUN cd embeddedsw/lib/sw_apps/zynq_fsbl/src/ && make BOARD=zed CFLAGS=-DFSBL_DEBUG_INFO
|
|
|
|
|
|
# RUN cd mission_rust
|
|
# RUN cargo update
|
|
# RUN cargo build -Z build-std
|
|
|
|
# Set a working directory
|
|
# WORKDIR /workspace/mission_rust
|
|
# Assuming the Rust project is copied into the container
|
|
WORKDIR /workspace/
|
|
COPY . .
|
|
|
|
# Build commands can be added here if needed
|
|
# For example, to build the FSBL project:
|
|
# RUN cd embeddedsw/lib/sw_apps/zynq_fsbl/src/ && make BOARD=zed CFLAGS=-DFSBL_DEBUG_INFO
|
|
|
|
# RUN mkdir build_cli
|
|
# RUN cd build_cli
|
|
# RUN cmake -DCMAKE_TOOLCHAIN_FILE=../bsp_z7/cmake/arm-none-eabi.toolchain ..
|
|
|
|
# Set the entrypoint to a shell
|
|
ENTRYPOINT ["/usr/bin/fish"]
|