Installation
articwake can be installed in several ways depending on your needs.
Pre-built SD Card Image (Recommended)
Section titled “Pre-built SD Card Image (Recommended)”The easiest option for Raspberry Pi Zero 2 W. See the Quick Start Guide.
Pre-built Binaries
Section titled “Pre-built Binaries”Download from GitHub Releases:
| Binary | Platform | Notes |
|---|---|---|
articwake-x86_64-linux | x86_64 Linux | Standard servers |
articwake-aarch64-linux | ARM64 Linux (glibc) | Raspberry Pi 4/5, ARM servers |
articwake-aarch64-linux-musl | ARM64 Linux (musl) | Alpine Linux, static binary |
articwake-armv7-linux | ARMv7 Linux | Raspberry Pi 2/3 (32-bit) |
Using a pre-built binary
Section titled “Using a pre-built binary”# Downloadwget https://github.com/a-maccormack/articwake/releases/latest/download/articwake-x86_64-linuxchmod +x articwake-x86_64-linux
# Set required environment variablesexport ARTICWAKE_HOMELAB_MAC="aa:bb:cc:dd:ee:ff"export ARTICWAKE_HOMELAB_IP="192.168.1.100"
# Run./articwake-x86_64-linuxBuilding from Source
Section titled “Building from Source”Requirements
Section titled “Requirements”- Rust 1.85+ (edition 2024)
Build steps
Section titled “Build steps”# Clone the repositorygit clone https://github.com/a-maccormack/articwake.gitcd articwake
# Build release binarycargo build --release
# Binary is at target/release/articwakeCross-compilation
Section titled “Cross-compilation”For Raspberry Pi Zero 2 W (aarch64):
# Install crosscargo install cross --git https://github.com/cross-rs/cross
# Build for ARM64cross build --release --target aarch64-unknown-linux-gnu
# Or for Alpine Linux (static binary)cross build --release --target aarch64-unknown-linux-muslAvailable cross-compilation targets:
| Target | Platform |
|---|---|
x86_64-unknown-linux-gnu | Standard x86 servers |
aarch64-unknown-linux-gnu | ARM64 with glibc |
aarch64-unknown-linux-musl | ARM64 static binary |
armv7-unknown-linux-gnueabihf | ARMv7 (Pi 2/3 32-bit) |
Setup After Installation
Section titled “Setup After Installation”Regardless of installation method, you need to:
- Generate an SSH keypair for connecting to your server’s initrd
- Create a PIN hash for authentication
- Configure environment variables
See the Configuration Guide for details.