Buildroot based embedded Linux OS for Snapcast. There are configurations for some boards, e.g. the Raspberry Pi 3 with WiFi and audio enabled, as well as packages for Snapcast and its dependencies.
- Download or clone Buildroot
- Clone SnapOS to some directory
- Navigate into Buildroot's root directory and define SnapOS as an external:
buildroot-2019.11 $ make BR2_EXTERNAL=/PATH/TO/snapos/buildroot-external/ snapos_rpi3_defconfig
To build out of tree, add O=/PATH/TO/BUILD/DIR and continue in this directory
4. Now you will find the pre-selected Snapclient package under External options ---> in make menuconfig
*** Snapcast OS (in /PATH/TO/snapos/buildroot-external) ***
[*] Snapcast
[*] Snapclient
[ ] Snapserver
- Run
make, wait, and find the image inimage/sdcard.img - Write the image to an sd card, e.g. (with
sdX= your sd card's device name):
buildroot-2019.11 $ sudo dd bs=4M if=output/images/sdcard.img of=/dev/sdX conv=fsync status=progress
- Boot your device. Snapclient will start automatically (make sure that
/etc/default/snapclientcontains the lineSTART_SNAPCLIENT=true) - Ethernet is configured to use DHCP. Login with user
rootand passwordsnapcast
To enable WiFi, add your WiFi's SSID and password to /etc/wpa_supplicant.conf:
ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
network={
ssid="<Your SSID>"
psk="<Your Key>"
}
You can activate support for external DACs by loading the appropriate device tree:
Remove the line from /boot/config.txt:
dtparam=audio=on
add your DAC's device tree (e.g. hifiberry-dacplus) to /boot/config.txt:
dtoverlay=<your DAC's device tree>