## Prerequisits for build with Docker ##### Info IRS wireguard VPN can cause network issues with docker. ##### Install Docker If you are using macOS or Windows, please use this tutorial: - https://www.docker.com/get-started/ On Linux simply use your package manager to install ```docker``` and prepare everything using these commands, to avoid permission denied errors: ```sh sudo systemctl start docker sudo groupadd docker sudo usermod -aG docker $USER sudo reboot ``` ## FSBL FSBL is the First Stage Boot Loader and prepares the CPU and FPGA configuration for booting up the Second Stage Bootloader and finally the flight software. ##### Clone the repository and build the docker image: ```sh cd docker/compile_fsbl/ git clone https://github.com/Xilinx/embeddedsw/ docker build -t compile_fsbl . ``` ##### To build the FSBL, run the following command in the `docker/compile-fsbl` directory: ```sh docker run -v ./embeddedsw:/fsbl compile_fsbl /bin/bash -c "cd lib/sw_apps/zynq_fsbl/src && make BOARD=zed SHELL=/bin/bash" ``` If you want, copy the fsbl.elf to the docker/compile_fsbl directory for easier access: ```sh cp embeddedsw/lib/sw_apps/zynq_fsbl/src/fsbl.elf . ``` ## Steps 1. Configure doxygen: ## mission_rust ##### Build the docker image: ```sh export DOT_PATH=/usr/local/bin ``` ## obsw ##### Clone the submodules (FreeRTOS and lwIP): ```sh git submodule init git submodule update ``` ##### Build the docker image: ```sh cd docker/compile_obsw/ docker build -t compile_obsw . ``` ##### To build the obsw, run the following command in the `docker/compile_obsw` directory: ```sh docker run -v $(pwd)/../..:/obsw compile_obsw /bin/bash -c "mkdir -p build_cli && cd build_cli && cmake -DCMAKE_TOOLCHAIN_FILE=../bsp_z7/cmake/arm-none-eabi.toolchain .. && make -j 8" ``` The romeo-obsw binary can now be found in the `build_cli` directory.