@@ -28,6 +28,33 @@ make BOARD=nordic_nrf7002dk
2828This uses Zephyr's cmake to generate Makefiles that then delegate to
2929` tools/cpbuild/build_circuitpython.py ` to build the CircuitPython bits in parallel.
3030
31+ ## Native simulator build container
32+
33+ Building the native sim requires ` libsdl2-dev:i386 ` and other 32bit dependencies that
34+ can cause conflicts on 64bit systems resulting in the removal of 64bit versions of critical
35+ software such as the display manager and network manager. A Containerfile and a few scripts
36+ are provided to set up a container to make the native sim build inside without affecting the
37+ host system.
38+
39+ The container automatically mounts this instance of the circuitpython repo inside at
40+ ` /home/dev/circuitpython ` . Changes made in the repo inside the container and on the host PC
41+ will sync automatically between host and container.
42+
43+ To use the container file:
44+
45+ 1 . Build the container with ` podman build -t zephyr-cp-dev -f native_sim_build_Containerfile . `
46+ 2 . Run/Start the container by running ` ./native_sim_build_run_container.sh ` on the host PC.
47+ The script will automatically run or start based on whether the container has been run before.
48+ 3 . Init requirements inside the container with ` ./native_sim_build_init_container.sh `
49+
50+ To delete the container and cleanup associated files:
51+ ``` sh
52+ podman ps -a --filter ancestor=zephyr-cp-dev -q | xargs -r podman rm -f
53+ podman rmi zephyr-cp-dev
54+ podman image prune -f
55+ podman rm -f zcp
56+ ```
57+
3158## Running the native simulator
3259
3360From ` ports/zephyr-cp ` , run:
0 commit comments