Requires cargo-deb
$ cargo build
$ cargo deb
$ sudo dpkg -i target/debian/*.deb
$ sudo systemctl status vulcast-firmware.service
Some setup is required to clone private repositories from within the Docker container.
- Generate an SSH key and add it to ssh-agent. If you already have an SSH key, skip the generation step and just add it to ssh-agent.
- Add the SSH key to your GitHub account if it is not added already.
This step will build a Docker image that you can use to cross-compile this project. You can repeatedly use this image without needing to rebuild it, unless the Dockerfile changes.
docker build . -t vulcast-cross/armv7
This step will build the vulcast-firmware binary for the cross-compile target using the Docker image.
docker run --rm -ti \
-v $(pwd):/app \
-v $(readlink -f $SSH_AUTH_SOCK):/ssh-agent \
-e SSH_AUTH_SOCK=/ssh-agent \
vulcast-cross/armv7
The resultant binary will be in target/armv7-unknown-linux-gnueabihf/release
.