Firefly Openlink

From NAS-Central Buffalo - The Linkstation Wiki

(Difference between revisions)
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

Image: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
Image: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

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

Personal tools