Difference between revisions of "Firefly Openlink"

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search
(OPTIONAL)
Line 40: Line 40:
 
  make install
 
  make install
  
== OPTIONAL == FLAC / OGG VORBIS TRANSCODE]
+
== OPTIONAL ==  
  
=== Ogg lib ===
+
=== 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;
  
  vi /etc/ld.so.conf
+
  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.
  
*Install flac
+
=== Flac ===
  
 
  cd ..  
 
  cd ..  
Line 87: Line 93:
 
  ldconfig -v
 
  ldconfig -v
  
*OPTIONAL - HOWL INSTALL - REQUIRED FOR MULTIPLE INSTANCES
+
=== 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
  
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
+
== Configure ==
  
OR
+
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:
  
  
vi mt-daapd.conf (use vi editor to modify config file as/if required. Some help on vi; http://www.cs.colostate.edu/helpdocs/vi.html)
+
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;
(from http://wiki.mt-daapd.org/wiki/Quickstart_LinkStation)
+
 +
nano /etc/init.d/firefly
  
cd /etc/init.d
+
Add all this:
  
  vi mt-daapd-startup
+
  #! /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
  
Enter the following lines (between the ****s)
 
<pre>
 
# !/bin/sh
 
# make sure our shared libraries are in the path.
 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
 
if [ -n "`pidof mt-daapd`" ] ; then
 
killall mt-daapd 2>/dev/null
 
fi
 
/usr/local/sbin/mt-daapd -c /usr/local/etc/mt-daapd.conf
 
</pre>
 
  
 
Mark the file as executable;
 
Mark the file as executable;
  chmod +x mt-daapd-startup
+
  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 mt-daapd-startup /etc/rc.d/rc2.d/S93mtdaapd
+
   
 +
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

Ff logo sm.gif risimmons Roku forum

Contents

Requirements

  1. Lots of good music
  2. Something to play lots of your good music on - Like a Roku Soundbridge
  3. Or iTunes on your pc

Installation

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
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)