...
Installation
Install docker. For Mac and Windows, you must install docker desktop instead.
If using Windows follow two more steps because Docker for Windows runs on WSL (Windows Subsystem for Linux):
Install WSL by running
wsl --install
Setup wsl by launching ubuntu from the start menu
...
Make sure Docker Desktop is started
Clone and open a terminal in a embedded project.
Pull down the Docker container you are using by running
docker pull <CONTAINER_NAME>
where CONTAINER_NAME can benwdepatie/ner-gcc-arm
for microcontroller developmentcompose pull
.Start the container by running
docker compose run --rm ner-it --privileged -v "$PWD:/home/app" <CONTAINER_NAME>:latest bash
using the same container you just pulledgcc-arm
.Make sure you are running it in whatever directory you want to operate on
Any flashing hardware should be mounted to container automatically
Linux
- Make sure Docker is started (I just run
docker
and it works but results may vary)the root directory of the project (Ex. Cerberus, Shepherd, Iroh, Proteus, etc.)
Linux
Clone and open a terminal in a embedded project.
Pull down the Docker container you are using by running
docker pull <CONTAINER_NAME>
where CONTAINER_NAME can benwdepatie/ner-gcc-arm
for microcontroller developmentcompose pull
.Start the container by running
sudo docker compose run --rm ner-it --privileged -v "$PWD:/home/app" <CONTAINER_NAME>:latest bash
using the same container you just pulledgcc-arm
.Make sure you are running it in whatever directory you want to operate on
Any flashing hardware should be mounted onto container automatically
the root directory of the project (Ex. Cerberus, Shepherd, Iroh, Proteus, etc.)
Windows
Make sure Docker Desktop is started and wsl ubuntu is installed (see above setup)
To mount any flashing hardware (this may be condensed into a script in the future):
Open a Windows terminal with admin privileges and run
winget install usbipd
Open a WSL terminal (
wsl
) and run the following commands to enable mounting Windows USB devices in the Docker containerLeave the terminal open
(If interacting with hardware) Mount the Raspberry Pi probe by finding the device in another Windows terminal with
usbipd list
and mount the device in a Windows terminal window (with admin privileges the first time you do this) withusbipd bind --busid=<BUSID>
You’re looking for the
CMSIS-DAP v2 Interface
device
Run
usbipd attach --wsl=ubuntu --busid <BUSID>
.Clone and open a terminal in a embedded project.
Pull down the Docker container you are using by running
docker compose pull
.Start the container by running
docker compose run --rm ner-gcc-arm
.Make sure you are running it in the root directory of the project (Ex. Cerberus, Shepherd, Iroh, Proteus, etc.)
All future mounts after the first time on the device should be:
Open wsl with
wsl
docker desktop and plug in debug probeusbipd list
to get the pi debug probe BUS IDusbipd attach --wsl =ubuntu --busid <BUSID>
docker compose run --rm ner-gcc-arm