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/snapclient
contains the lineSTART_SNAPCLIENT=true
) - Ethernet is configured to use DHCP. Login with user
root
and 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>