Instead of installing all of the dependencies manually, it's recommended to use a Dockerfile to install all the necessary dependencies automatically.
You'll need to setup Docker for your system. This is usually pretty straight-forward if you haven't already installed it.
Usually this just entails installing the docker package and starting the docker service. You'll also want to enable non-root access to the docker daemon.
After you're finished, make sure you're able to run docker info
in your terminal window.
After you're finished, make sure you're able to run docker info
in your terminal window.
- Installation
- You may need to use the legacy toolkit if your version of Windows doesn't support Hyper-V
- Getting Started
After you're finished, make sure you're able to run docker info
in your terminal window.
Using a terminal where you can successfully call docker info
run the following commands.
The Ubuntu Environment is the default supported environment.
However, most developers are using Arch Linux for their testing.
To generate the environment, only need to do this once, or whenever you update the git repo.
cd controller/Dockerfiles
docker build -f Dockerfile.ubuntu -t controller.ubuntu .
cd ..
To enter the build environment.
docker run -it --rm -v "$(pwd):/controller" controller.ubuntu
To exit the docker environment.
exit
To generate the environment, only need to do this once, or whenever you update the git repo.
cd controller/Dockerfiles
docker build -f Dockerfile.archlinux -t controller.archlinux .
cd ..
To enter the build environment.
docker run -it --rm -v "$(pwd):/controller" controller.archlinux
To exit the docker environment.
exit
Once in the docker environment, you'll already be inside the Keyboards folder. So you can just build firmware for a keyboard.
./k-type.bash
The contents will be located in linux-gnu.K-Type.gcc.ninja
.
- all.bash - Test script used by Travis-CI to test all Dockerfiles.
- archlinux.bash - Test script to test ArchLinux Dockerfile.
- common.bash - Library commands used by all.bash.
- docker.bash - Convenince library used by all.bash.
- Dockerfile - Ubuntu Dockerfile.
- Dockerfile.archlinux - ArchLinux Dockerfile.
- ubuntu.bash - Test script to test Ubuntu Dockerfile.