Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit 02420ed

Browse files
committed
Merge branch 'master' into develop
2 parents 3227b7f + 9ddcb55 commit 02420ed

File tree

2 files changed

+85
-4
lines changed

2 files changed

+85
-4
lines changed

buildroot-external/README.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,6 @@ To build out of tree, add `O=/PATH/TO/BUILD/DIR` and continue in this directory
1616
[*] Snapcast
1717
[*] Snapclient
1818
[ ] Snapserver
19-
-*- aixlog
20-
-*- jsonrpc++
21-
-*- popl
22-
-*- asio
2319
```
2420
5. Run `make`, wait, and find the image in `image/sdcard.img`
2521
6. Write the image to an sd card, e.g. (with `sdX` = your sd card's device name):

openwrt/README.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,3 +50,88 @@ The packaged `ipk` files are in
5050
<wrt dir>/bin/packages/<pkg_arch>/base/snapserver_x.x.x_<pkg_arch>.ipk
5151
```
5252

53+
## Alternative: Using OpenWRT-SDK
54+
https://openwrt.org/docs/guide-developer/using_the_sdk
55+
56+
Instead of building the entire image including snapcast and all dependencies, this methods uses the so called OpenWRT-SDK to only build the package and install it to an official vanilla OpenWRT build for your device.
57+
58+
### Advantages:
59+
- faster
60+
- uses less disk space while building
61+
- less prone to dependency related errors
62+
### Disadvantages:
63+
- only works for systems with available official builds
64+
- if SnapOS would optimize the base OpenWRT-System (currently it doesn't), these changes would not be reflected by this method
65+
66+
### Instructions
67+
#### Get the base image for your device
68+
General remarks:
69+
- At time of writing we use OpenWRT version 19.07.2.
70+
- In this example snapcast is built for a TP-Link TL-WR710 v2.1.
71+
72+
Find your device's page, e.g. https://openwrt.org/toh/tp-link/tl-wr710n
73+
74+
download the latest image from there: http://downloads.openwrt.org/releases/19.07.2/targets/ar71xx/generic/openwrt-19.07.2-ar71xx-generic-tl-wr710n-v2.1-squashfs-factory.bin
75+
76+
note down your device's architecture:
77+
- ar71xx/generic
78+
79+
#### Get OpenWRT-SDK
80+
Download the latest release of the SDK for your architecture and unpack:
81+
82+
$ wget https://downloads.openwrt.org/releases/19.07.2/targets/ar71xx/generic/openwrt-sdk-19.07.2-ar71xx-generic_gcc-7.5.0_musl.Linux-x86_64.tar.xz
83+
$ tar -xf openwrt-sdk-19.07.2-ar71xx-generic_gcc-7.5.0_musl.Linux-x86_64.tar.xz
84+
85+
#### Add snapcast
86+
Within the `<wrt-sdk dir>/package` directory create a symbolic link to `<snapos dir>/openwrt`:
87+
```
88+
$ cd <wrt-sdk dir>
89+
$ ln -s <snapos dir>/openwrt package/snapcast
90+
```
91+
92+
#### Download and install available feeds
93+
```
94+
$ ./scripts/feeds update -a
95+
$ ./scripts/feeds install -a
96+
```
97+
98+
#### Build
99+
In `make menuconfig` navigate to `Sound/snapcast` and select `Snapclient`
100+
101+
Also make sure to select your device in the target settings.
102+
103+
```
104+
$ cd <wrt dir>
105+
$ make defconfig
106+
$ make menuconfig
107+
$ make
108+
```
109+
110+
The packaged `ipk` file is in
111+
```
112+
<wrt dir>/bin/packages/<pkg_arch>/base/snapclient_x.x.x_<pkg_arch>.ipk
113+
```
114+
115+
#### Install on device
116+
Assuming you already have installed OpenWRT on your device, you now have to copy the `ipk` to the device, e.g. with scp:
117+
```
118+
$ scp <wrt-sdk dir>/bin/packages/<pkg_arch>/base/snapclient_x.x.x_<pkg_arch>.ipk <openWRT-IP>:/tmp/
119+
```
120+
SSH to your device to install:
121+
```
122+
# update package manager to be able to install dependencies:
123+
$ opkg update
124+
# if you are using a usb soundcard you will need:
125+
$ opkg install kmod-usb-audio
126+
# finally install the copied package:
127+
$ opkg install /tmp/snapclient_0.19.0_mips_24kc.ipk
128+
```
129+
set your default options, e.g.:
130+
```
131+
$ vi /etc/default/snapclient
132+
SNAPCLIENT_OPTS="-d -h <snapserver-ip> -s 3"
133+
```
134+
after a reboot you should be all set:
135+
```
136+
$ reboot
137+
```

0 commit comments

Comments
 (0)