Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 24 12311 ... LastLast
Results 1 to 10 of 234
  1. #1

    Step-by-step Installation on LinkStation Pro

    The opening series of posts in this thread chronicles my step-by-step process for installing SqueezeCenter 7.0 on a LinkStation Pro using FreeLink. Though the instructions given here relate specificly to this hardware, the general process of installation is probably/possibly useful for similar platforms.

    During the process of figuring this out, I used many resources on the internet, obviously including this forum. As a result many people indirectly helped me, and I thank you all.

    My Goals and Results
    I tried to create a simple, straightforward process -- favoring tried-and-true components where possible; seeking the least invasive procedures when necessary.

    I had Simple Requirements:
    • A few thousand FLAC files with folder.jpg album art, and a sprinkling of MP3 files
    • Two Squeezebox 3 units (haven't gotten my hands on a Duet yet...)
    • Prefer random playback
    • Use of the xmradio plugin

    My setup has been operational for about six weeks. Originally I installed via package, and later went back and installed via subversion so I could tinker a little more directly.

    Physical Setup Details
    • LinkStation Pro 1TB (400 MHz ARM9, 128MB RAM)
    • NetGear 802.11n Router and switch
    • Two Squeezeboxen

    Specifically, my LinkStation is an LS-1000GL -- a terabyte LinkStation Pro (v2) (Reference: http://buffalo.nas-central.org/index.php/Category:LSPro)

    Your Prerequisites
    Aside from the obvious equipment needs of a LinkStation and other computers....
    • Comfort with command-line and text-based tools
    • A willingness to research or adapt if your situation differs what from is presented here
    • Comfort with command-line and text-based tools, really
    • The other computer needs an ssh client (I use ssh from cygwin), and possibly java, telnet, and other random utilities

    • You may lose data or brick your system -- make backups; use at your own risk; etc.
    • Things change -- instructions and processes can become stale or obsolete
    • This installation suits my needs and desires -- your mileage may vary

    Yes, the instructions here could be shorter / more concise. However, I will separate and explain much. Should you encounter any differences, hopefully this will help you make adaptations.

    And without further adoo, here are the step-by-step instructions beginning from square one: Before Installing FreeLink.

    - R
    Last edited by farallon; 2008-04-08 at 02:35.

  2. #2

    Phase 1: Preparing the Drive


    This is an optional step and must executed carefully. If you already have data on the drive, I recommend you skip this and find a Linux file system expert to help you if and when you ever need it.

    In an effort the save myself future hassle, I decided to tweak the partition table on the drive. The default partition sizes can be a little tight and adjusting them now can save hassle later on. (This information is mostly from http://buffalo.nas-central.org/index..._on_the_LS_Pro)

    LinkStation Factory Settings
    • IP Addres =
    • Admin User = admin
    • Admin Password = password
    • Firmware version 1.11 -- I determined this by connected to the factory software control panel and looking around.

    1. Establish a Direct Ethernet Connection
    Note: It's nice if your other computer has two network connections. Once can connect to the LinkStation while the other hits the internet. If you don't, you probably should work ahead and pre-download things you need.

    Change your computer's network configuration to connect directly to the LinkStation. The exact process will depend on your OS (hints: control panel, TCP/IP, etc.)
    • Record your existing settings so you can restore them afterwards
    • Set IP =
    • Set MASK =
    • Set Default Gateway =
    • Connect a physical cable directly between your computer and the LinkStation -- and by direct, I mean it. I had trouble getting some steps to work with a router/hub/switch in between.
    • Turn the LinkStation on (if it isn't already)

    At this point you should be able to ping and get a response

    2. Acquire Shell Access
    • Download acp_commander from http://downloads.nas-central.org/TOO..._commander.jar
    • Save it somewhere convenient, like c:\temp
    • Open a command-prompt and go to that same directory
    • Run this command to establish telnet and reset the root password
      java -jar acp_commander.jar -t -o
    • telnet to LinkStation
    • login as 'root', no password

    3. Repartition via fdisk
    • run fdisk
      fdisk /dev/sda
    • press P to view the current partition table. Mine looked like this, which means sda1 (boot) is about 296 megabytes; sda2 (root) is 496MB; sda5 (swap) is 136MB; and, sda6 (data) is 971,880MB:
      Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
      255 heads, 63 sectors/track, 121601 cylinders
      Units = cylinders of 16065 * 512 = 8225280 bytes 
         Device Boot      Start         End      Blocks   Id  System
      /dev/sda1               1          37      297171   83  Linux
      /dev/sda2              38          99      498015   83  Linux
      /dev/sda4             100      121601   975964815    5  Extended
      /dev/sda5             100         116      136521   82  Linux swap
      /dev/sda6             117      121601   975828231   83  Linux

    • Delete partitions 2 and 4 by pressing keys D 2 D 4 in order
    • Create new 10 gigabyte root partition by entering N P 2 <enter> +10000M
    • Create new extended partition by entering N E 4 <enter> <enter>
    • Create new 1 gigabyte swap partition by entering N L <enter> +1000M
    • Use rest of disk for new data partition by entering N L <enter> <enter>
    • Change the partition type for the swap partition by entering T 5 82
    • Press P to see the current partition table. Mine looked like this:
          Device Boot      Start         End      Blocks   Id  System
       /dev/sda1               1          37      297171   83  Linux
       /dev/sda2              38        1254     9775552+  83  Linux
       /dev/sda4            1255      121601   966687277+   5  Extended
       /dev/sda5            1255        1377      987966   82  Linux swap
       /dev/sda6            1378      121601   965699248+  83  Linux

    • Press W to save the new partition table
    • Reboot the LinkStation

    4. Format the Data Disk
    • Point a web browser at
    • Login as administrator (default is 'admin'/'password')
    • Navigate the control panel and format disk 1 as XFS

    Next up: Installing FreeLink
    Last edited by farallon; 2008-04-08 at 18:48.

  3. #3

    Phase 2: Installing and Configuring FreeLink

    If you already have FreeLink installed, you can skip this phase. It might, however, be worthwhile going over this section and making an existing install a little tighter.

    5. Install FreeLink
    These steps are almost entirely based on information I got from http://buffalo.nas-central.org/index...ation_PRO/LIVE

    • Download Buffalo's Firmware (which includes the LSUpdater tool) from http://www.buffalotech.com/support/downloads -- I used LS-GL_FW_111.zip
    • Download Freelink from http://downloads.nas-central.org/LSP...tions/Freelink -- I used FreeLink_arm9-1.0rev2.zip
    • Unzip both packages
    • Rename the u-boot.buffalo.updated files to something else (this precautionary step prevents overwrite)
    • Copy LSUpdater.exe, lsupdater.ini, and linkstation_version.txt from the Buffalo Firmware to the FreeLink Distribution
    • Edit the lsupdater.ini file (in the FreeLink Distribution) to include:
      Debug = 1
      VersionCheck = 0
    • Setup a direct ethernet connection as described above in Phase 1 / Step 1
    • Run the LSUpdater.exe tool
    • Right-Click on the Application in the Task Bar, select "Debug..."
    • Select these settings:
      [ ] Update BOOT        [X] Do not check version
      [X] Update KERNEL      [ ] Rebuild partition table
      [X] Update initrd      [ ] Delete user-config
      [X] Update rootfs      [ ] Force update
    • OK
    • Update
    • Enter password (default is 'admin'/'password')
    • Wait for tool to give an error that boot failed -- this is fine, it's a false error

    6. Recontact LinkStation
    • Connect LinkStation to main network (with DHCP)
    • Restore PC network settings to previous settings and connect to main network
    • Cycle Power on LinkStation
    • Wait for LinkStation to exist on network. (Note: some people report the need to go into EM Mode to gain access. I didn't need too...).
    • Find the LinkStation IP address on the network -- the method to do this will depend on the network configuration. I logged into the control panel of my router to see what address the LinkStation got assigned.
    • Use your ssh client (ssh, or PuTTY, or SecureCRT, or ???) to ssh into the LinkStation with username 'root' and password 'lspro' -- again, this method will vary depending upon ssh client used. For me, I typed 'ssh root@<ipaddress>' from a command-line.

    7. Install nano
    Many people love vi -- I am not one of them, so I choose to use nano on Linux systems. We need to use vi to do that though...

    • Change package source from ftp.uk.debian.org to ftp.us.debian.org
      vi /etc/apt/sources.list
    • And then struggle with the magic keystrokes needed to change that one character and save. Help at: http://en.wikipedia.org/wiki/Vi#Vi_commands
    • Install nano with these commands:
      aptitude hold udev
      aptitude update
      aptitude install nano

    8. Post-Install Cleanup
    • Add the reset cleanup backdoor:
      nano /usr/local/bin/initsw.sh
      And add these lines to the file
      rm -f /etc/hddrootmode
      rm -f /boot/hddrootmode
    • Set the systemname to the name of your choice
      nano /etc/hosts
      Edit the localhost name line to read
      Code:  my_system_name localhost.localdomain localhost
    • And then edit
      nano /etc/hostname
      To read:
    • Activate the new hostname
      hostname --file /etc/hostname
    • Set the timezone (just follow the prompts)
    • Create and activate the swapfile -- important, or SqueezeCenter may run out-of-memory and crash
      mkswap -c /dev/sda5
      swapon -a
    • Increase the /tmp space to 50M -- important, or some processes may fail if they run out of temp space
      nano /etc/fstab
      The tmpfs line should read
      tmpfs           /tmp       tmpfs   size=50M,mode=1777                  0 0

    9. Update the System

    • Setup keys
      gpg --keyserver wwwkeys.eu.pgp.net --recv-keys B5D0C804ADB11277
      apt-key add /root/.gnupg/pubring.gpg
    • Update packages -- 'aptitude' is a variation 'apt-get'. The 'hold udev' prevents an incompatible addition. The purge hotplug prevents some stale data updates.
      aptitude hold udev
      aptitude update
      aptitude purge hotplug
      aptitude upgrade
    • Set locale -- follow the prompts. I installed all en_us... items, selecting 'en_us' as my default
      aptitude install locales
    • Change and protect the system passwords
      passwd admin
    • Change the server ssh keys -- Note: when you next ssh into the LinkStation, you may need to reset the keys or delete the old ones from the 'known_hosts' file.
      rm /etc/ssh/*host*key*
      dpkg-reconfigure openssh-server

    10. Configure File Server
    Okay, this step is pretty much up to you. You need to determine what you want to share and to whom, and how to get that setup within your network. I used Samba shares configured through webmin:

    • Install Webmin
      cd /usr/src
      wget http://prdownloads.sourceforge.net/webadmin/webmin_1.400_all.deb
      aptitude install libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl
      dpkg -i webmin_1.400_all.deb
    • Connect to webmin at https://<ipaddress>:10000 -- Note: if you're lucky and have a nice router, you can enter the system name instead of the ip address.
    • Configure away. Webmin and Samba are daunting. Google is your friend.

    Next up: Installing SqueezeCenter

  4. #4

    Phase 3: Installing SqueezeCenter

    You have three main choices for the initial basic install -- repository package, direct download package, or subversion.

    All three paths support stable and cutting-edge so it's really personal preference. I prefer the finer control I have with the subversion path, however I suspect most people will and should use the repository package.

    11. Preparation
    • Clear out previous installs (if necessary)
      dpkg --purge squeezecenter
      dpkg --purge slimserver
    • Satisfy basic dependencies
      aptitude install mysql-server-5.0 libmysqlclient15-dev flac sox

    12. Option 1: Install via Repository Package
    Note: I haven't installed the package in this manner, so I take these few steps on faith
    • Add the Slim Devices repository to the source list
      nano /etc/apt/sources.list
      Edit the file to include one of the following lines:
      deb http://debian.slimdevices.com stable main
      deb http://debian.slimdevices.com testing main
      deb http://debian.slimdevices.com unstable main
    • Install SqueezeCenter
      aptitude update
      aptitude install squeezecenter
    • Stop the Server (it's in an continuous error loop)
      invoke-rc.d squeezecenter stop
    • To upgrade in the future:
      aptitude update
      aptitude upgrade squeezecenter

    12. Option 2: Install via Downloaded Package

    12. Option 3: Install via Subversion (svn)
    The subversion repo is in flux as I write this, so the checkout URL may change. When I last did this, there was only a single main trunk.
    Also, I'm only going to document head revision work on a single branch. If you don't feel comfortable navigating the trunks, tags, and branches, you should probably use a package path described above.
    • Install subversion
      aptitude install subversion
    • Get SqueezeCenter -- the -N option means non-recursive, which saves me from grabbing non-useful architectures. You can also drop it and grab the whole trunk.
      cd /usr/src
      svn up -N squeezecenter/platforms squeezecenter/server
      svn up squeezecenter/platforms/debian
      cd squeezecenter/server
      svn up -N Bin
      svn up CPAN Firmware Graphics HTML IR MySQL Plugins SQL Slim lib
    • To upgrade in the future
      svn up /usr/src/squeezecenter

    Important Notes
    The rest of the instructions assume a working directory of the server executable.

    For a package install
    • working directory = /usr/share/squeezecenter
    • to run squeezecenter
      ./squeezecenter-server.pl --user=squeezecenter
      or possibly,
      squeezecenter-server --user=squeezecenter

    For svn install
    • working directory = /usr/src/squeezecenter/server
    • to run squeezecenter
      ./slimserver.pl --user=squeezecenter

    Next up: Fixing the Errors
    Last edited by farallon; 2008-04-10 at 20:41.

  5. #5

    Phase 4: Fixing Errors

    Running SqueezeCenter out of the box on a LinkStation will yield several errors. Depending upon what you've done with your LinkStation you will see some of these errors.
    You should manually run SqueezeCenter now, and after each major fixup step to ensure each fix is taking hold and getting you further, and to determine which step to perform next.

    13. Missing perl modules at startup
    This error indicates modules that have a binary component that isn't included in the download.
    The following modules failed to load: XML::Parser::Expat HTML::Parser JSON::XS Compress::Zlib Digest::SHA1 YAML::Syck GD
    To download and compile them, please run: /usr/sbin/Bin/build-perl-modules.pl XML::Parser::Expat HTML::Parser JSON::XS Compress::Zlib Digest::SHA1 YAML::Syck GD

    • Configure CPAN (if necessary) : To fix the 'since you don't have any existing picks you must make a geographic selection' error:
      perl -MCPAN -e shell
      Accept all defaults (and there are many of them!) and select some random geographic selections...
    • Install Prerequisites and GD
      aptitude install g++
      aptitude install libexpat1-dev
      aptitude install libextutils-cbuilder-perl
      aptitude install libgd-gd2-perl
    • Build Missing Module Binaries
      Don't forget: all these commands assume you're in the working directory as described in "Important Notes" in the previous post
      mkdir /usr/src/CPAN
      Hit <enter> to accept default perl executable; Enter /usr/src/CPAN for download location, and wait a while...
    • Install the missing autosplit.ix file -- the module is built, but not fully installed
      cp /usr/src/CPAN/Compress-Zlib-1.41/blib/lib/auto/Compress/Zlib/autosplit.ix CPAN/arch/5.8.8/arm-linux-gnu-thread-multi/auto/Compress/Zlib/autosplit.ix

    14. Startup version checks
    Debian is noted for their stability, and thus they can be a few versions behind at times. No biggie here.
    The following CPAN modules were found but cannot work with SqueezeCenter:
      GD (loaded 2.34, need 2.35)
    To fix this problem you have several options:
    1. Install the latest version of the module(s) using CPAN: sudo cpan Some::Module
    2. Update the module's package using apt-get, yum, etc.
    3. Run the .tar.gz version of SqueezeCenter which includes all required CPAN modules.

    • Just change the requirement!
      nano modules.conf
      And edit the appropriate lines to read the actual version available: GD 2.34

    15. User and Permissions
    The package based install should do this for you; subversion installers will likely need to do this manually.
    [08-03-13 16:20:15.9794] main::changeEffectiveUserAndGroup (775) Warning: SqueezeCenter must not be run as root!  Trying user slimserver instead.
    [08-03-13 16:20:15.9876] main::changeEffectiveUserAndGroup (783) Warning: User slimserver not found.
    • Create the user account
      adduser --system --home /usr/share/squeezecenter --no-create-home --gecos "SqueezeCenter" squeezecenter
    • Fix some permissions from earlier runs as root (if necessary)
      [08-03-13 17:08:50.6719] Slim::Utils::Prefs::Namespace::savenow (255) Error: can't save /usr/src/squeezecenter/server/prefs/server.prefs: Permission denied at /usr/src/squeezecenter/server/Slim/Utils/Prefs/Namespace.pm line 244.

      For a package install
      chown squeezecenter:nogroup /var/lib/squeezecenter/cache -R
      chown squeezecenter:nogroup /var/lib/squeezecenter/prefs -R
      chown squeezecenter:nogroup /var/log/squeezecenter -R

      For subversion install
      chown squeezecenter:nogroup Cache Logs prefs -R

    16. MySQL Configuration
    You'll get this type of error if you don't already have a database, or it isn't setup correctly. If you already have a SqueezeCenter/SlimServer database, don't create a new one -- just point SqueezeCenter at the existing one.
    [08-03-13 16:20:15.9951] Slim::Schema::forceCommit (1363) Warning: Trying to commit transactions before DB is initialized!

    • Login to MySQL -- your setup may differ; I don't recall when I set the MySQL root password
      mysql -u root -p
      Enter the root user password
    • Create the database by entering the following into MySQL:
      create database squeezecenter;
      grant all on squeezecenter.* to squeezecenter identified by 'some_unique_password_you_decide_upon';
      flush privileges;
    • Point SqueezeCenter at the right database, by editing the server.prefs file
      For a package install
      nano /var/lib/squeezecenter/prefs/server.prefs
      For a subversion install
      nano prefs/server.prefs
      Find the db lines and make them read:
      dbpassword: 'some_unique_password_you_decide_upon'
      dbsource: dbi:mysql:database=squeezecenter
      dbusername: squeezecenter
    • Initialize the database by running squeezecenter

    17. MySQL Crashes
    This error occurs during the scanning phase. The MySQL server is crashing due to a complex query involing JOIN and GROUP BY.
    Many variations upon this theme:
    frame 0: Slim::Utils::Log::logBacktrace (/usr/src/squeezecenter/server/Slim/Schema/Storage.pm line 67)
    frame 1: Slim::Schema::Storage::throw_exception (/usr/src/squeezecenter/server/CPAN/DBIx/Class/Storage/DBI.pm line 658)
    frame 2: DBIx::Class::Storage::DBI::_connect (/usr/src/squeezecenter/server/CPAN/DBIx/Class/Storage/DBI.pm line 616)
    frame 3: DBIx::Class::Storage::DBI::_populate_dbh (/usr/src/squeezecenter/server/CPAN/DBIx/Class/Storage/DBI.pm line 543)
    frame 15: Slim::bootstrap::sigint (/usr/src/squeezecenter/server/Slim/bootstrap.pm line 402)
    frame 16: Slim::bootstrap::theEND (/usr/src/squeezecenter/server/scanner.pl line 340)
    frame 17: main::END (/usr/src/squeezecenter/server/scanner.pl line 0)
    frame 18: (eval) (/usr/src/squeezecenter/server/scanner.pl line 0)

    In particular, MySQL is probably crashing if you see lines containing error phrases such as
    • Error: DBI Connection failed: DBI connect('database=squeezecent...
    • Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at /usr/src/...
    • MySQL server has gone away. at /usr/src/squeezecenter/serv...

    The version of MySQL (5.0.32) that came with my FreeLink install apparently has some crash bugs. I had some previous workaround, but now I advocate upgrading MySQL -- in this case, the most current easy version is 5.0.51a, which seems to work quite nicely. Here's how to do it:

    • Add the ability to get backports of debian packages
      nano /etc/apt/sources.list
      and add this line to the end:
      deb http://www.backports.org/debian etch-backports main contrib non-free
    • Add the backports key for good measure, and update
      wget -O - http://backports.org/debian/archive.key | apt-key add -
      aptitude update
    • Install the new MySQL
      aptitude -t etch-backports upgrade mysql-server
    • Keep the existing /etc/mysql/my.cnf, /etc/init.d/bootlogd, /etc/init.d/mysql files if it asks.
    • Also, if you used my previous hack, remove the --exit-info=2 from /etc/init.d/mysql.

    At this point, depending upon which warnings you have, you may be able to run SqueezeCenter and have it scan your library.

    Next up: Fixing some pesky warnings
    Last edited by farallon; 2008-04-26 at 14:34. Reason: typo

  6. #6

    Phase 5: Fixing Warnings

    You will probably see several warnings - some will prevent your system from being useful (e.g. where's the music?), and warnings are first-time initialization warnings and go away as the server runs again, or the library gets built.

    18. Data Source
    This just means SqueezeCenter doesn't know where to find your music.
    [08-03-22 20:37:32.4694] Slim::Utils::Misc::msg (1310) Warning:
    [08-03-22 20:37:32.4773] Slim::Utils::Misc::msg (1310) Warning: Your data source needs to be configured. Please open your web browser,
    [08-03-22 20:37:32.4848] Slim::Utils::Misc::msg (1310) Warning: go to the following URL, and click on the "SqueezeCenter Settings" link.
    [08-03-22 20:37:32.4925] Slim::Utils::Misc::msg (1310) Warning: The URL to access SqueezeCenter is now:

    • Point a browser to http://yoursystemname:9000/ and setup the system to point to your music library. Of course, you may need to copy it over -- hopefully you got that Samba share working well.

    19. mDNSResponderPosix
    This is an Apple service advertiser system. I'm not sure what SqueezeCenter uses it for -- perhaps iTunes related functionality?
    [08-03-22 20:37:32.7028] Slim::Networking::mDNS::startAdvertising (110) Error: Couldn't find mDNSResponderPosix binary! Aborting!

    • Get and build mDNSResponderPosix -- you may need to substitute version numbers if this one isn't available or current
      cd /usr/src
      wget http://www.opensource.apple.com/darwinsource/tarballs/other/mDNSResponder-107.6.tar.gz
      tar zxf mDNSResponder-107.6.tar.gz
      cd mDNSResponder-107.6/mDNSPosix
      make os=linux
      make os=linux install
      cp build/prod/mDNSResponderPosix /usr/sbin
    • Edit usage of mDNSResponder -- the file protocol differs between versions of mDNSResponderPosix
      mDNSResponderPosix: Error reading service file /usr/src/squeezecenter/server/Cache/mDNS.conf

      For package install
      nano /usr/share/perl5/Slim/Networking/mDNS.pm
      For subversion install
      nano Slim/Networking/mDNS.pm

      Find the block of 5 print CONF instructions and edit it to read
      print CONF "\n";
      print CONF "$name\n";
      print CONF "$service\n";
      #print CONF "TXT\n";
      print CONF "$port\n";

    20. Pref Permissions
    If in your machinations you delete log or pref files, you cold wind up with bad permissions and ownership. Just repeat the user and group permissions fix from the Error Fixing section above

    21. Conflicting GD Modules
    The following CPAN modules were found but cannot work with SqueezeCenter:
      GD (loaded 2.35, need 2.34)
    To fix this problem you have several options:
    1. Install the latest version of the module(s) using CPAN: sudo cpan Some::Module
    2. Update the module's package using apt-get, yum, etc.
    3. Run the .tar.gz version of SqueezeCenter which includes all required CPAN modules.

    Note very carefully that this is the opposite situation of the GD module ERROR above. To fix this one, we delete the GD embedded with SqueezeCenter:
    • From the server script directory:
      rm -r CPAN/GD
      rm CPAN/GD.pm

    22. Register player with SqueezeNetwork
    [08-03-23 01:21:40.4781] Slim::Networking::SqueezeNetwork::PrefSync::_syncDown_error (260) Sync Down failed: No such player: 00:04:20:07:9f:20, will retry in 510

    • In the web interface, switch to SqueezeNetwork and add player
    Last edited by farallon; 2008-04-08 at 02:28.

  7. #7


    23. Autostart on boot for subversion users
    If you did a package-based install, this is already done for you. If you did a subversion setup and want things to run automatically, If you want to set it up manually:

    My preferred method for doing this involves converting the subversion install to a local package install. This does mean you effectively have two SqueezeCenter installs: an installed version and a working/experimenting version.
    • Install package building components
      aptitude install fakeroot dpkg-dev debhelper
    • Make a debian package
      squeezecenter/buildme.pl --build debian --buildDir /usr/src/sc_tmp --sourceDir /usr/src/squeezecenter --destDir /usr/src/sc_pkg
    • Install the new package
      dpkg -i sc_pkg/<.deb file>
    • Cleanup
      rm -rvf sc_tmp sc_pkg
    • Start squeezecenter
      invoke-rc.d squeezecenter start

    Final Words
    Okay, that's just about everything -- and with luck, no major typos.
    If all went well, you should have an operational SqueezeCenter install on a FreeLink LinkStation, and now it's play time.

    - R
    Last edited by farallon; 2008-04-26 at 15:58. Reason: Adding startup instructions for subversion users

  8. #8
    Senior Member
    Join Date
    Jun 2006

    Thank you very much for providing such a detailed step-by-step instruction.

    I have given it a go, and encountered a problem that you or someone else might be able to help resolve.

    But before I get into my problem, I would like to point out what I believe is a minor error in the procedure to change the partition table, which I discovered and fixed by simple trial and error. After deleting partitions 2 and 4, and recreating partition 2 with 10GB, to create the new extended partition 4, I believe the correct sequence should be:

    N E 4 <enter> <enter>
    [rather than N P 4 <enter> <enter>]
    ***Edit: the above has now been fixed in the procedure.***

    After making that minor change, I was able to successfully repartition my LinkStation Pro v1 (ARM processor, original hardware).

    Now, on to the problem that I haven't been able to work around, namely GD.

    I install FreeLink fine, and follow the procedure through downloading and installing the Squeezecenter Debian package (using wget and dpkg).

    The first thing which seems odd is that I don't end up with a squeezecenter-server.pl file anywhere that I can find (or even a slimserver.pl). The squeezecenter-server file (not *.pl) ends up in the /usr/sbin directory.

    I then go through these steps as instructed OK:
    perl -MCPAN -e shell
    aptitude install g++
    aptitude install libexpat1-dev
    aptitude install libextutils-cbuilder-perl
    aptitude install libgd-gd2-perl
    mkdir /usr/src/CPAN

    But when I try to manually run squeezecenter-server after that, I get the error: "The following modules failed to load: GD. To fix run: /usr/share/squeezecenter/Bin/build-perl-modules.pl GD"

    When I attempt to run /Bin/build-perl-modules.pl GD, it just craps out with "Downloads will use lwp to fetch tarballs. All done!", and doesn't install anything.

    I also tried installing GD using: cpan GD
    but that generates a few errors, particularly: "make: *** [test_dynamic] Error 255 /usr/bin/make test -- NOT OK"

    I have even tried manually downloading and installing the tarball gd-2.0.35.tar.gz, but every time I try to run squeezecenter-server, I still get the message that GD failed to load.

    So, at this point I'm stuck. Maybe I'm missing something simple. (I am definitely not a Linux expert.) I even wiped the drive and went through the entire installation process again, including reloading FreeLink from scratch, to make sure I didn't miss a step, but I still get stuck at the same point when trying to run squeezecenter and GD doesn't load.

    Any suggestions?
    Last edited by TiredLegs; 2008-04-30 at 17:34.

  9. #9
    Thanks for the tip on the typo. I fixed that.

    My version os build_perl_modules makes no attempt to build GD. At any rate, the "aptitude install libgd-gd2-perl" should install the necessary libs.

    If build_perl_modules correctly builds the rest, can you run the server? Does it complain about GD?

    - R

  10. #10
    Senior Member
    Join Date
    Jun 2006
    I tried running 'aptitude install libgd-gd2-perl' again, but it didn't install any new files. I can find various GD files around the drive, but I don't know if they're the right ones in the right places.

    I still get the GD error if I run '/usr/sbin/squeezecenter-server'.
    If I run '/etc/init.d/squeezecenter start', it appears to start up, although I can't tell if it's actually running. If I try to navigate to in a web browser, nothing comes up. If I run the command 'ps -A', I see squeezecenter_s and squeezecenter-s in there. Maybe it's stuck in the continuous error loop where it reboots every couple of seconds. Which sequence of commands in the step-by-step was supposed to fix that problem?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts