Merge pull request #176 from nickaknudson/feature/raspberry-pi

cleaned up buildroot instructions, added raspberry pi instructions
This commit is contained in:
Johannes Pohl 2017-02-04 10:38:49 +01:00 committed by GitHub
commit 9b9aa3c29f
3 changed files with 52 additions and 12 deletions

View file

@ -36,6 +36,7 @@ Please follow this [guide](doc/build.md) to build Snapcast for
* [Android](doc/build.md#android-cross-compile)
* [OpenWrt](doc/build.md#openwrt-cross-compile)
* [Buildroot](doc/build.md#buildroot-cross-compile)
* [Raspberry Pi](doc/build.md#raspberry-pi-cross-compile)
###Install debian packages
Download the debian package for your CPU architecture from the [latest release page](https://github.com/badaix/snapcast/releases/latest), e.g. for Raspberry pi `snapclient_0.x.x_armhf.deb`

View file

@ -0,0 +1,40 @@
# Snapcast Packages
BR2_GCC_VERSION_4_9_X=y
BR2_GCC_VERSION="4.9.4"
BR2_TOOLCHAIN_GCC_AT_LEAST="4.9"
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_PACKAGE_DBUS=y
BR2_PACKAGE_EXPAT=y
BR2_PACKAGE_LIBDAEMON=y
BR2_PACKAGE_AVAHI=y
BR2_PACKAGE_AVAHI_AUTOIPD=y
BR2_PACKAGE_AVAHI_DAEMON=y
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
BR2_PACKAGE_ALSA_LIB=y
BR2_PACKAGE_ALSA_LIB_DEVDIR="/dev/snd"
BR2_PACKAGE_ALSA_LIB_PCM_PLUGINS="all"
BR2_PACKAGE_ALSA_LIB_CTL_PLUGINS="all"
BR2_PACKAGE_ALSA_LIB_ALOAD=y
BR2_PACKAGE_ALSA_LIB_MIXER=y
BR2_PACKAGE_ALSA_LIB_PCM=y
BR2_PACKAGE_ALSA_LIB_RAWMIDI=y
BR2_PACKAGE_ALSA_LIB_HWDEP=y
BR2_PACKAGE_ALSA_LIB_SEQ=y
BR2_PACKAGE_ALSA_LIB_ALISP=y
BR2_PACKAGE_ALSA_LIB_OLD_SYMBOLS=y
BR2_PACKAGE_ALSA_UTILS=y
BR2_PACKAGE_ALSA_UTILS_ALSACONF=y
BR2_PACKAGE_ALSA_UTILS_ALSACTL=y
BR2_PACKAGE_ALSA_UTILS_AMIXER=y
BR2_PACKAGE_ALSA_UTILS_APLAY=y
BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST=y
BR2_PACKAGE_LIBCURL=y
BR2_PACKAGE_LIBAO=y
BR2_PACKAGE_LIBVORBIS=y
BR2_PACKAGE_VORBIS_TOOLS=y
BR2_PACKAGE_FLAC=y
BR2_PACKAGE_LIBOGG=y
BR2_PACKAGE_TREMOR=y
BR2_PACKAGE_SNAPCAST=y
# Other Packages

View file

@ -209,25 +209,24 @@ Buildroot recommends [keeping customizations outside of the main Buildroot direc
Clone Buildroot to some place in your home directory (`<buildroot dir>`):
$ git clone --branch BUILDROOT_VERSION --depth=1 git://git.buildroot.net/buildroot
$ BUILDROOT_VERSION=2016.11.2
$ git clone --branch $BUILDROOT_VERSION --depth=1 git://git.buildroot.net/buildroot
The `<snapcast dir>/buildroot` is currently setup as an external Buildroot folder following the [recommended structure](https://buildroot.org/downloads/manual/manual.html#customize-dir-structure). As of [Buildroot 2016.11](https://git.buildroot.net/buildroot/tag/?h=2016.11) you may specify multiple BR2_EXTERNAL trees. If you are using a version of Buildroot prior to this, then you will need to manually merge `<snapcast dir>/buildroot` with your existing Buildroot external tree.
Now add the following packages to your Buildroot `.config` file:
Now configure buildroot with the [required packages](/buildroot/configs/snapcast_defconfig) (you can also manually add them to your project's existing defconfig):
BR2_PACKAGE_FLAC=y
BR2_PACKAGE_LIBOGG=y
BR2_PACKAGE_TREMOR=y
BR2_PACKAGE_SNAPCAST=y
$ cd <buildroot dir> && make BR2_EXTERNAL=<snapcast dir>/buildroot snapcast_defconfig
Or use `menuconfig` to add them graphically:
Then use `menuconfig` to configure the rest of your project:
$ cd <buildroot dir> && make BR2_EXTERNAL=<snapcast dir>/buildroot menuconfig
Or if you have another Buildroot external tree (`<buildroot external dir>`):
$ cd <buildroot dir> && make BR2_EXTERNAL=<snapcast dir>/buildroot:<buildroot external dir> menuconfig
And finally run the build:
$ cd <buildroot dir> && make BR2_EXTERNAL=<snapcast dir>/buildroot:<buildroot external dir>
$ cd <buildroot dir> && make BR2_EXTERNAL=<snapcast dir>/buildroot
##Raspberry Pi (Cross compile)
This example will show you how to add snapcast to [Buildroot](https://buildroot.org/) and compile for Raspberry Pi.
* https://github.com/nickaknudson/snapcast-pi