Difference between revisions of "Firefly Openlink"

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search
m (Firefly Openlink MIPSel moved to Firefly Openlink: Merged PowerPC and MIPSel openlink articles, generalizing devtools and nano installations)
(small amount of article cleanup and organization - made nano postit)
Line 1: Line 1:
 
[[Image:Ff_logo_sm.gif ]]
 
[[Image:Ff_logo_sm.gif ]]
 
+
= Requirements =
 
+
== Requirements ==
+
  
 
# Lots of good music
 
# Lots of good music
Line 11: Line 9:
 
#* [http://www.sqlite.org/ Sqlite]
 
#* [http://www.sqlite.org/ Sqlite]
  
== Installation - Build From Source==
+
=Installation=
  
===Development Tools===
+
==Installation - Precompiled Binaries (PPC only)==
 +
 
 +
wget http://hvkls.dyndns.org/downloads/libid3tag_0.15.1b-binaries-ppc.tar.gz
 +
wget http://hvkls.dyndns.org/downloads/mtdaapd_0.2.4-binaries-ppc.tar.gz
 +
tar -C / -xvzf libid3tag_0.15.1b-binaries-ppc.tar.gz
 +
tar -C / -xvzf mtdaapd_0.2.4-binaries-ppc.tar.gz
 +
mv /etc/mt-daapd.SAMPLE /etc/mt-daapd
 +
 
 +
Then edit /etc/mt-daapd/*. When done,
 +
 
 +
/etc/init.d/mt-daapd start
 +
 
 +
and point your browser to http://linkstation:3689
 +
 
 +
== Installation - Build From Source==
 +
===Dependancies===
 +
====Development Tools====
 
# Install the [[Precompiled C development environment, running on the LS]]
 
# Install the [[Precompiled C development environment, running on the LS]]
 
# Get the source tarballs and compile
 
# Get the source tarballs and compile
  
=== libid3tag === [[Articles/Macintosh]]
+
==== libid3tag ====
  
 
  cd ..  
 
  cd ..  
Line 26: Line 40:
 
  make install
 
  make install
  
=== sqlite ===
+
==== sqlite ====
  
 
  cd ..  
 
  cd ..  
Line 35: Line 49:
 
  make install
 
  make install
  
=== Firefly ===
+
=== OPTIONAL ===  
  
You will need to check out [[http://nightlies.mt-daapd.org/ the nightlies]] and change the address below to the latest version
+
==== Ogg Lib ====
+
cd /tmp
+
<nowiki>wget http://nightlies.mt-daapd.org/dl.php?FILE=mt-daapd-svn-1463.tar.gz</nowiki>
+
 
+
Untar and enter folder (replace with whatever latest version is)
+
tar -zxvf mt-daapd-svn-1463.tar.gz
+
cd mt-daapd-svn-1463
+
+
 
+
If you don't want/need Ogg Vorbis Flac Howl then proceed to [[Firefly_Openlink_MIPSel#Configure| Configure]]
+
 
+
== OPTIONAL ==
+
 
+
=== [[Nano]] ===
+
 
+
Use the instructions on the [[nano]] wiki page.
+
 
+
=== Ogg Lib ===
+
  
 
  cd /tmp
 
  cd /tmp
Line 64: Line 60:
 
  make install
 
  make install
  
=== Vorbis Lib ===
+
==== Vorbis Lib ====
  
 
  cd ..  
 
  cd ..  
Line 75: Line 71:
 
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;
  
 +
{{Postit | [[nano]]| if you don't already have nano you can follow the instructions on the '''[[nano]]''' page to either get the static binaries for your LS or compile it yourself}}
 
  nano /etc/ld.so.conf
 
  nano /etc/ld.so.conf
  
Line 87: Line 84:
 
verify that the ogg and vorbis libs are listed.
 
verify that the ogg and vorbis libs are listed.
  
=== Flac ===
+
==== Flac ====
  
 
  cd ..  
 
  cd ..  
Line 100: Line 97:
 
  ldconfig -v
 
  ldconfig -v
  
=== Howl ===
+
==== Howl ====
  
 
REQUIRED FOR MULTIPLE INSTANCES
 
REQUIRED FOR MULTIPLE INSTANCES
Line 116: Line 113:
  
  
== Configure ==
+
=== Get and Compile Firefly ===
 +
 
 +
You will need to check out [[http://nightlies.mt-daapd.org/ the nightlies]] and change the address below to the latest version
 +
 +
cd /tmp
 +
<nowiki>wget http://nightlies.mt-daapd.org/dl.php?FILE=mt-daapd-svn-1463.tar.gz</nowiki>
 +
 
 +
Untar and enter folder (replace with whatever latest version is)
 +
tar -zxvf mt-daapd-svn-1463.tar.gz
 +
cd mt-daapd-svn-1463
 +
  
 
Either - (assuming flac, ogg and howl built)
 
Either - (assuming flac, ogg and howl built)
Line 141: Line 148:
 
  chmod o=rw mt-daapd.conf  
 
  chmod o=rw mt-daapd.conf  
  
== Starting at boot ==
+
==== Starting at boot ====
 
Create a startup script;
 
Create a startup script;
 
   
 
   
Line 217: Line 224:
 
  cd /etc/rc0.d && ln -s /etc/init.d/firefly K20ps2client
 
  cd /etc/rc0.d && ln -s /etc/init.d/firefly K20ps2client
  
== Run it ==
+
==== Run it ====
  
 
Should be able to start it up now
 
Should be able to start it up now
Line 252: Line 259:
 
Run over to your Roku Soundbridge and check if its working - then fire up iTunes on your pc and see all your files
 
Run over to your Roku Soundbridge and check if its working - then fire up iTunes on your pc and see all your files
  
 
+
==== To add multiple instances ====
 
+
 
+
=== To add multiple instances ===
+
  
 
Create new subdirectories under /usr/local/var/cache/mt-daapd which correspond to the databases required.
 
Create new subdirectories under /usr/local/var/cache/mt-daapd which correspond to the databases required.

Revision as of 18:39, 27 December 2006

Ff logo sm.gif

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

Installation - Precompiled Binaries (PPC only)

wget http://hvkls.dyndns.org/downloads/libid3tag_0.15.1b-binaries-ppc.tar.gz
wget http://hvkls.dyndns.org/downloads/mtdaapd_0.2.4-binaries-ppc.tar.gz
tar -C / -xvzf libid3tag_0.15.1b-binaries-ppc.tar.gz
tar -C / -xvzf mtdaapd_0.2.4-binaries-ppc.tar.gz
mv /etc/mt-daapd.SAMPLE /etc/mt-daapd

Then edit /etc/mt-daapd/*. When done,

/etc/init.d/mt-daapd start

and point your browser to http://linkstation:3689

Installation - Build From Source

Dependancies

Development Tools

  1. Install the Precompiled C development environment, running on the LS
  2. Get the source tarballs and compile

libid3tag

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

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

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
Bar.png
if you don't already have nano you can follow the instructions on the nano page to either get the static binaries for your LS or compile it yourself


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


Get and Compile Firefly

You will need to check out [the nightlies] and change the address below to the latest version

cd /tmp
wget http://nightlies.mt-daapd.org/dl.php?FILE=mt-daapd-svn-1463.tar.gz

Untar and enter folder (replace with whatever latest version is)

tar -zxvf mt-daapd-svn-1463.tar.gz
cd mt-daapd-svn-1463 

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 /etc/mt-daapd
cp contrib/mt-daapd.* /etc/mt-daapd/
cd /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 

Starting at boot

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

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

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

Firefly.JPG

Run over to your Roku Soundbridge and check if its working - then fire up iTunes on your pc and see all your files

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)

Bauldrick 13:05, 21 December 2006 (EST)