Allow running Docker container on MacOS (without in-container USB support) (#24412)

This commit is contained in:
Haim Gelfenbeyn 2025-01-15 14:36:20 -05:00 committed by GitHub
parent 26f898c8a5
commit 7b83bb9d26
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 18 additions and 9 deletions

View File

@ -50,6 +50,13 @@ By default docker or podman are automatically detected and docker is preferred o
RUNTIME="podman" util/docker_build.sh keyboard:keymap:target
```
If flashing is not required, it's possible to run the container as unprivileged (on Linux), and without docker-machine (on Windows/macOS):
```
SKIP_FLASHING_SUPPORT=1 util/docker_build.sh keyboard:keymap:target
```
## FAQ
### Why can't I flash on Windows/macOS

View File

@ -34,15 +34,17 @@ if [ -z "$RUNTIME" ]; then
fi
fi
# IF we are using docker on non Linux and docker-machine isn't working print an error
# ELSE set usb_args
if [ ! "$(uname)" = "Linux" ] && [ "$RUNTIME" = "docker" ] && ! docker-machine active >/dev/null 2>&1; then
errcho "Error: target requires docker-machine to work on your platform"
errcho "See http://gw.tnode.com/docker/docker-machine-with-usb-support-on-windows-macos"
exit 3
else
usb_args="--privileged -v /dev:/dev"
# If SKIP_FLASHING_SUPPORT is defined, do not check for docker-machine and do not run a privileged container
if [ -z "$SKIP_FLASHING_SUPPORT" ]; then
# IF we are using docker on non Linux and docker-machine isn't working print an error
# ELSE set usb_args
if [ ! "$(uname)" = "Linux" ] && [ "$RUNTIME" = "docker" ] && ! docker-machine active >/dev/null 2>&1; then
errcho "Error: target requires docker-machine to work on your platform"
errcho "See http://gw.tnode.com/docker/docker-machine-with-usb-support-on-windows-macos"
exit 3
else
usb_args="--privileged -v /dev:/dev"
fi
fi
qmk_firmware_dir=$(pwd -W 2>/dev/null) || qmk_firmware_dir=$PWD # Use Windows path if on Windows