Firefly Freelink
From NAS-Central Buffalo - The Linkstation Wiki
Contents |
About
Firefly is a flexible open-source media server, that also supports iTunes.
It's technical name is still "mt-daapd", the previous name of the project.
Requirements
- Lots of good music
- Something to play lots of your good music on - Like a Roku Soundbridge
- Or iTunes on your pc
Installation
From Debian Repository
The easiest way to get Firefly is to install it from the Debian repository. Unfortunately the package for Debian 4.0 Etch (=FreeLink 1.0) is quite outdated at version 0.2.4 r1376.
It is not recommended to install this version.
You can try it by using:
aptitude install mt-daapd
From Debian Package
A way to get a more up-to-date version is to create a Debian package yourself.
The advantage of this that you get a Debian-compatible configuration including start/stop scripts and that you can use all the package tools for it.
Each Debian package has its own homepage with the package definition (*.dsc). There you can get newer versions and check for which system platforms the package is available.
As of 2007-08 the latest version is 0.9 r1586 and this is also the recommended version. Unfortunately it is only available for x86, x64 and ARM. Sorry no PPC or MipSel yet, for these you have to compile and configure it manually (see below) or work together with the package maintainer.
Building the Debian package (once per platform)
ToDo: Upload pre-build package (~650KB) - or better - provide it in a FreeLink/Debian repository
For this you need the maintainer's public key to be sure that you download only clean non-malicious files, the Debian build environment for compiling and packging, plus all the packages the build of the MT-DAAPD depends on.
gpg --keyserver hkp://pgpkeys.pca.dfn.de --recv-keys 78446F26 aptitude install gcc g++ build-essential devscripts debhelper aptitude install libid3tag0-dev libsqlite3-dev libavahi-compat-howl-dev libflac-dev libvorbis-dev libmpcdec-dev libavcodec-dev libavformat-dev libtagc0-dev dpatch
It is recommended to create an extra directory for your self-build packages.
mkdir /mnt/disk1/packages chown root:root /mnt/disk1/packages chmod u=rwx,go= /mnt/disk1/packages cd /mnt/disk1/packages
Then its time to get the package source and build it. The signing error at the end of the "dh_builddeb" step can be ignored.
dget -x http://ftp.debian.org/debian/pool/main/m/mt-daapd/mt-daapd_0.9~r1586-1.dsc cd mt-daapd-0.9~r1586/ debuild
Installing the Debian package
The build package is installed via "dpkg". Normally the first install fails due to missing dependencies, so we let "apt" fix this for us by just installing again with an apt tool.
dpkg --install mt-daapd_0.9~r1586-1_arm.deb aptitude install mt-daapd
You can start/stop Firefly with
invoke-rc.d mt-daapd start|stop|restart
The configuration is stored in /etc/mt-daapd.conf
Manually From Source
apt-get install libid3tag0 libid3tag0-dev
apt-get install sqlite libsqlite0 libsqlite0-dev
apt-get install g++ build-essential
Be careful where you build, as you want to make sure you have room for the compilation. /tmp is too small for building.
cd /usr/src
Download Firefly mediaserver You will need to check out the nightlies and change the address below to the latest version
wget http://nightlies.mt-daapd.org/dl.php?FILE=mt-daapd-svn-1696.tar.gz
- Note: I personally had issues with svn-1696 crashing every time Firefly rescanned my library. After discussion with Ron Pedde (Firefly developer) I was advised to use version svn-1586 due to it's greater stability. svn-1586 has been working flawlessly for me.
Untar and enter folder (replace with whatever latest version is)
tar -zxvf mt-daapd-svn-1696.tar.gz && cd mt-daapd-svn-1696
Configure it with the following (all one line)
./configure --prefix=/usr/local --enable-browse --enable-query --enable-mdns --with-id3tag=/usr/local --enable-sqlite --sysconfdir=/etc
Make and install it (if you are not su or root, you will have to add sudo to make install only)
make make install mkdir /etc/mt-daapd cp contrib/mt-daapd.* /etc/mt-daapd/ cd /etc/mt-daapd
nano mt-daapd.conf
Should only need to change where to look for your music files
Starting at boot
I've nicked the start script from andre's mt-daapd ppc package (if you don't mind andre)
nano /etc/init.d/firefly
and add all this
#! /bin/sh
set -e
# /etc/init.d/firefly: start and stop the DAAP daemon
DAEMON=/usr/local/sbin/mt-daapd
DAAPD_OPTS=""
DAAPD_CONFIG_FILE=/etc/mt-daapd/mt-daapd.conf
test -x $DAEMON || exit 0
case "$1" in
start)
if ! grep -q /usr/local/lib /etc/ld.so.conf; then
echo /usr/local/lib >> /etc/ld.so.conf
ldconfig
fi
echo -n "Starting DAAP daemon: firefly"
if pidof $DAEMON >/dev/null 2>&1; then
echo " apparently already running."
exit 0
fi
if [ ! -s "$DAAPD_CONFIG_FILE" ]; then
echo " missing or empty config file $DAAPD_CONFIG_FILE"
exit 1
fi
start-stop-daemon --start --quiet --background \
--exec $DAEMON -- -c "$DAAPD_CONFIG_FILE" $DAAPD_OPTS
echo "."
;;
stop)
echo -n "Stopping DAAP daemon: firefly"
killall $DAEMON >/dev/null 2>&1
echo "."
;;
restart)
set +e
echo -n "Restarting DAAP daemon: firefly"
killall $DAEMON >/dev/null 2>&1
sleep 2
if ! start-stop-daemon --start --quiet --background \
--exec $DAEMON -- -c "$DAAPD_CONFIG_FILE" $DAAPD_OPTS
then
echo "start failed?"
fi
echo "."
;;
*)
echo "Usage: /etc/init.d/firefly {start|stop|restart}"
exit 1
esac
exit 0
Then add the links
cd /etc/rc2.d && ln -s /etc/init.d/firefly S20firefly
cd /etc/rc6.d && ln -s /etc/init.d/firefly K20firefly
cd /etc/rc0.d && ln -s /etc/init.d/firefly K20firefly
Think it needs one of these
chmod a+x /etc/init.d/firefly
Run it
Should be able to start it up now
/usr/local/sbin/mt-daapd
or better still use the start/stop script
/etc/init.d/firefly start
This errors because it looks for mt-daapd.conf in /usr/local/etc/mt-daapd.conf ??
I've just linked to it
mkdir /usr/local/etc ln -s /etc/mt-daapd/mt-daapd.conf /usr/local/etc/mt-daapd.conf
Try it now
/etc/init.d/firefly start
Using
Directly after installation issue "top" and you should see mt-daapd at the top of the list.
top
Once that dissapears (it has finished checking your music library) you should be able to see it via the web interface
http://<LINKSTATION-IP>:3689
You can put whatever you like as user but the passwd is mt-daapd
That should show you something like this
Run over to your Roku Soundbridge and check if its working - then fire up iTunes on your pc and see all your files
Bauldrick 09:13, 21 December 2006 (EST)

