Firefly Openlink
From NAS-Central Buffalo - The Linkstation Wiki
(→OPTIONAL) |
|||
| Line 40: | Line 40: | ||
make install | make install | ||
| - | == OPTIONAL == | + | == OPTIONAL == |
| - | === | + | === Nano === |
| - | cd .. | + | cd /usr/bin |
| + | <nowiki>wget http://downloads.linkstationwiki.net/uploads/nano_2.0</nowiki> | ||
| + | mv nano_2.0 nano | ||
| + | |||
| + | === Ogg Lib === | ||
| + | |||
| + | cd /tmp | ||
wget http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz | wget http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz | ||
tar -xvzf libogg-1.1.3.tar.gz | tar -xvzf libogg-1.1.3.tar.gz | ||
| Line 62: | Line 68: | ||
These libraries need to be registered with the linker. This can be done by creating a file called ld.so.conf in /etc as follows; | These libraries need to be registered with the linker. This can be done by creating a file called ld.so.conf in /etc as follows; | ||
| - | + | nano /etc/ld.so.conf | |
edit the file to add the line; | edit the file to add the line; | ||
| - | /usr/local/lib | + | /usr/local/lib |
save and exit. Then type | save and exit. Then type | ||
| Line 74: | Line 80: | ||
verify that the ogg and vorbis libs are listed. | verify that the ogg and vorbis libs are listed. | ||
| - | + | === Flac === | |
cd .. | cd .. | ||
| Line 87: | Line 93: | ||
ldconfig -v | ldconfig -v | ||
| - | + | === Howl === | |
| + | |||
| + | REQUIRED FOR MULTIPLE INSTANCES | ||
cd .. (get back to /tmp directory) | cd .. (get back to /tmp directory) | ||
| Line 109: | Line 117: | ||
cd mt-daapd-svn-1359 | cd mt-daapd-svn-1359 | ||
| - | |||
| - | + | == Configure == | |
| - | + | Either - (assuming flac, ogg and howl built) | |
| - | ./configure --prefix=/usr/local --enable-browse --enable-query --enable-mdns --with-id3tag=/usr/local --sysconfdir=/etc --enable-sqlite | + | ./configure --prefix=/usr/local --enable-browse --enable-query --enable-mdns --enable-howl |
| + | --with-howl-includes=/usr/local/include/howl --with-id3tag=/usr/local --sysconfdir=/etc --enable-sqlite --enable-flac | ||
| + | --enable-oggvorbis | ||
| + | |||
| + | Or | ||
| + | |||
| + | ./configure --prefix=/usr/local --enable-browse --enable-query --enable-mdns --with-id3tag=/usr/local --sysconfdir=/etc | ||
| + | --enable-sqlite | ||
make install | make install | ||
| Line 123: | Line 137: | ||
| - | + | nano mt-daapd.conf | |
You probably need at least to change the location of the music files to /mnt/hda | You probably need at least to change the location of the music files to /mnt/hda | ||
| Line 143: | Line 157: | ||
Create a startup script; | Create a startup script; | ||
| - | + | ||
| + | nano /etc/init.d/firefly | ||
| - | + | 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 | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
Mark the file as executable; | Mark the file as executable; | ||
| - | chmod +x | + | chmod a+x /etc/init.d/firefly |
Create a symbolic link to this file in the startup dir; | Create a symbolic link to this file in the startup dir; | ||
| - | ln -s | + | |
| + | cd /etc/rc2.d && ln -s /etc/init.d/firefly S20ps2client | ||
| + | |||
| + | cd /etc/rc6.d && ln -s /etc/init.d/firefly K20ps2client | ||
| + | |||
| + | cd /etc/rc0.d && ln -s /etc/init.d/firefly K20ps2client | ||
Revision as of 17:24, 21 December 2006
Contents |
Requirements
- Lots of good music
- Something to play lots of your good music on - Like a Roku Soundbridge
- Or iTunes on your pc
Installation
- Install Dev Tools - DevelopmentToolsInstallation
cd /tmp wget http://downloads.linkstationwiki.net/development_tools/mipsel-tools-2_1.tgz mkdir devtools cd devtools tar -xzvf ../mipsel-tools-2_1.tgz ./install.sh
- Install libid3tag - Articles/Macintosh
cd .. wget http://umn.dl.sourceforge.net/sourceforge/mad/libid3tag-0.15.1b.tar.gz tar -xvzf libid3tag-0.15.1b.tar.gz cd libid3tag-0.15.1b ./configure --prefix=/usr/local make install
- Install sqlite
cd .. wget http://www.sqlite.org/sqlite-2.8.17.tar.gz tar -xvzf sqlite-2.8.17.tar.gz cd sqlite-2.8.17 ./configure --prefix=/usr/local make install
OPTIONAL
Nano
cd /usr/bin wget http://downloads.linkstationwiki.net/uploads/nano_2.0 mv nano_2.0 nano
Ogg Lib
cd /tmp wget http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz tar -xvzf libogg-1.1.3.tar.gz cd libogg-1.1.3 ./configure --prefix=/usr/local make install
Vorbis Lib
cd .. wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.1.2.tar.gz tar -xvzf libvorbis-1.1.2.tar.gz cd libvorbis-1.1.2 ./configure --prefix=/usr/local make install
These libraries need to be registered with the linker. This can be done by creating a file called ld.so.conf in /etc as follows;
nano /etc/ld.so.conf
edit the file to add the line;
/usr/local/lib
save and exit. Then type
ldconfig -v
verify that the ogg and vorbis libs are listed.
=== Flac ===
cd .. wget http://kent.dl.sourceforge.net/sourceforge/flac/flac-1.1.2.tar.gz tar -xvzf flac-1.1.2.tar.gz cd flac-1.1.2 ./configure --prefix=/usr/local make install
The flac libs also need to be registered, so;
ldconfig -v
Howl
REQUIRED FOR MULTIPLE INSTANCES
cd .. (get back to /tmp directory) wget http://www.porchdogsoft.com/download/howl-1.0.0.tar.gz tar -xvzf howl-1.0.0.tar.gz cd howl-1.0.0 ./configure --prefix=/usr/local make install
The howl libs need to be registered, so (assuming you've added the line to /etc/ld.so.conf as above);
ldconfig -v
- Install firefly (for 1359 nightly - obviously check for the latest and alter accordingly...)
cd .. (get back to /tmp directory) wget http://nightlies.mt-daapd.org/dl.php?FILE=mt-daapd-svn-1359.tar.gz mv dl.php?FILE=mt-daapd-svn-1359.tar.gz mt-daapd-svn-1359.tar.gz tar -xvzf mt-daapd-svn-1359.tar.gz cd mt-daapd-svn-1359
Configure
Either - (assuming flac, ogg and howl built)
./configure --prefix=/usr/local --enable-browse --enable-query --enable-mdns --enable-howl --with-howl-includes=/usr/local/include/howl --with-id3tag=/usr/local --sysconfdir=/etc --enable-sqlite --enable-flac --enable-oggvorbis
Or
./configure --prefix=/usr/local --enable-browse --enable-query --enable-mdns --with-id3tag=/usr/local --sysconfdir=/etc --enable-sqlite
make install mkdir /usr/local/etc/mt-daapd cp contrib/mt-daapd.* /usr/local/etc/mt-daapd/ cd /usr/local/etc/mt-daapd/
nano mt-daapd.conf
You probably need at least to change the location of the music files to /mnt/hda
(allow any user to write to mt-daapd.conf to allow web interface to modify it)
chmod o=rw mt-daapd.conf
Check it's works
/usr/local/sbin/mt-daapd
Wait a while then access;
http://<linkstation-ip>:3689
Username is nobody Password is mt-daapd
Unless you've modified it in mtdaapd.conf
Create a startup script;
nano /etc/init.d/firefly
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
Mark the file as executable;
chmod a+x /etc/init.d/firefly
Create a symbolic link to this file in the startup dir;
cd /etc/rc2.d && ln -s /etc/init.d/firefly S20ps2client
cd /etc/rc6.d && ln -s /etc/init.d/firefly K20ps2client
cd /etc/rc0.d && ln -s /etc/init.d/firefly K20ps2client
- To add multiple instances*
create new subdirectories under /usr/local/var/cache/mt-daapd which correspond to the databases required. eg.
mkdir /usr/local/var/cache/mt-daapd/albums/
Set appropriate permissions
chown nobody:nogroup /usr/local/var/cache/mt-daapd/albums chmod u+w /usr/local/var/cache/mt-daapd/albums
Create a new startup mt-daapd.conf with the appropriate path to the database dir (eg mt-daapd.albums.conf)
Modify the starup script to start mt-daapd using this conf file;
/usr/local/sbin/mt-daapd -c /usr/local/etc/mt-daapd.albums.conf
The startup script must also start Howl (mDNSResponder)
/usr/local/bin/mDNSResponder
(this should be started before the mt-daapd instances)

