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.
Thanks
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
Disclaimers
- 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
Results 1 to 10 of 234
-
2008-04-07, 23:40 #1
- Join Date
- Feb 2008
- Posts
- 47
Step-by-step Installation on LinkStation Pro
Last edited by farallon; 2008-04-08 at 02:35.
-
2008-04-07, 23:41 #2
- Join Date
- Feb 2008
- Posts
- 47
Phase 1: Preparing the Drive
WARNING: THIS OPTIONAL PHASE WILL DESTROY ALL EXISTING DATA ON 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 = 192.168.11.150
- 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 = 192.168.11.22
- Set MASK = 255.255.255.0
- Set Default Gateway = 192.168.11.1
- 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 192.168.11.150 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 192.168.11.150 -o - telnet to LinkStation
telnet 192.168.11.150 - 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:
Code: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:
Code: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
WARNING: THIS NEXT STEP WILL DESTROY ALL EXISTING DATA ON THE DRIVE - Press W to save the new partition table
- Reboot the LinkStation
reboot
4. Format the Data Disk
- Point a web browser at http://192.168.11.150
- Login as administrator (default is 'admin'/'password')
- Navigate the control panel and format disk 1 as XFS
Next up: Installing FreeLinkLast edited by farallon; 2008-04-08 at 18:48.
-
2008-04-07, 23:42 #3
- Join Date
- Feb 2008
- Posts
- 47
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:
Code:[SpecialFlags] Debug = 1 [Flags] 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:
Code:[ ] 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 udevaptitude updateaptitude install nano
8. Post-Install Cleanup
- Add the reset cleanup backdoor:
nano /usr/local/bin/initsw.shAnd add these lines to the file
Code:rm -f /etc/hddrootmode rm -f /boot/hddrootmode reboot
- Set the systemname to the name of your choice
nano /etc/hostsEdit the localhost name line to read
Code:127.0.0.1 my_system_name localhost.localdomain localhost
- And then edit
nano /etc/hostnameTo read:
Code:my_system_name
- Activate the new hostname
hostname --file /etc/hostname - Set the timezone (just follow the prompts)
tzconfig - Create and activate the swapfile -- important, or SqueezeCenter may run out-of-memory and crash
mkswap -c /dev/sda5swapon -a - Increase the /tmp space to 50M -- important, or some processes may fail if they run out of temp space
nano /etc/fstabThe tmpfs line should read
Code:tmpfs /tmp tmpfs size=50M,mode=1777 0 0
9. Update the System
- Setup keys
gpg --keyserver wwwkeys.eu.pgp.net --recv-keys B5D0C804ADB11277apt-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 udevaptitude updateaptitude purge hotplugaptitude 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
passwdpasswd adminpwconv - 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/srcwget http://prdownloads.sourceforge.net/webadmin/webmin_1.400_all.debaptitude install libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perldpkg -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
-
2008-04-08, 00:33 #4
- Join Date
- Feb 2008
- Posts
- 47
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 squeezecenterdpkg --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.listEdit the file to include one of the following lines:
Code:deb http://debian.slimdevices.com stable main deb http://debian.slimdevices.com testing main deb http://debian.slimdevices.com unstable main
- Install SqueezeCenter
aptitude updateaptitude install squeezecenter - Stop the Server (it's in an continuous error loop)
invoke-rc.d squeezecenter stop - To upgrade in the future:
aptitude updateaptitude upgrade squeezecenter
12. Option 2: Install via Downloaded Package
- Go to a good place to work
cd /usr/src - Download the package you want: one of the following items
or possibly something you choose from http://www.slimdevices.com/downloads/nightly/ - Install SqueezeCenter
dpkg -i squeezecenter_7.0_all.deb - Stop the Server (it's in an continuous error loop)
invoke-rc.d squeezecenter stop - To upgrade in the future
dpkg --purge squeezecenterand repeat the package download and install
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/srcsvn co -N http://svn.slimdevices.com/repos/slim/7.0/trunk squeezecentersvn up -N squeezecenter/platforms squeezecenter/serversvn up squeezecenter/platforms/debiancd squeezecenter/serversvn up -N Binsvn 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=squeezecenteror 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 ErrorsLast edited by farallon; 2008-04-10 at 20:41.
-
2008-04-08, 00:55 #5
- Join Date
- Feb 2008
- Posts
- 47
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.
Code: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 shellAccept all defaults (and there are many of them!) and select some random geographic selections... - Install Prerequisites and GD
aptitude install g++aptitude install libexpat1-devaptitude install libextutils-cbuilder-perlaptitude 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 postmkdir /usr/src/CPANBin/build-perl-modules.plHit <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.
Code: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.confAnd 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.
Code:[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)
Code:[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 installchown squeezecenter:nogroup /var/lib/squeezecenter/cache -Rchown squeezecenter:nogroup /var/lib/squeezecenter/prefs -Rchown squeezecenter:nogroup /var/log/squeezecenter -R
For subversion installchown 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.
Code:[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 -pEnter 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;quit - Point SqueezeCenter at the right database, by editing the server.prefs file
For a package installnano /var/lib/squeezecenter/prefs/server.prefsFor a subversion installnano prefs/server.prefsFind the db lines and make them read:
Code: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:
Code: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.listand add this line to the end:Code: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 warningsLast edited by farallon; 2008-04-26 at 14:34. Reason: typo
-
2008-04-08, 00:55 #6
- Join Date
- Feb 2008
- Posts
- 47
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.
Code:[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: http://yoursystemname:9000/
- 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?
Code:[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/srcwget http://www.opensource.apple.com/darwinsource/tarballs/other/mDNSResponder-107.6.tar.gztar zxf mDNSResponder-107.6.tar.gzcd mDNSResponder-107.6/mDNSPosixmake os=linuxmake os=linux installcp build/prod/mDNSResponderPosix /usr/sbin - Edit usage of mDNSResponder -- the file protocol differs between versions of mDNSResponderPosix
Code:mDNSResponderPosix: Error reading service file /usr/src/squeezecenter/server/Cache/mDNS.conf
For package installnano /usr/share/perl5/Slim/Networking/mDNS.pmFor subversion installnano Slim/Networking/mDNS.pm
Find the block of 5 print CONF instructions and edit it to read
Code: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
Code: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/GDrm CPAN/GD.pm
22. Register player with SqueezeNetwork
Code:[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.
-
2008-04-08, 00:56 #7
- Join Date
- Feb 2008
- Posts
- 47
Closure
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.
Cheers,
- RLast edited by farallon; 2008-04-26 at 15:58. Reason: Adding startup instructions for subversion users
-
2008-04-08, 17:59 #8
- Join Date
- Jun 2006
- Posts
- 749
farallon,
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
Bin/build-perl-modules.pl
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.
-
2008-04-08, 18:52 #9
- Join Date
- Feb 2008
- Posts
- 47
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
-
2008-04-08, 19:43 #10
- Join Date
- Jun 2006
- Posts
- 749
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 http://192.168.1.130:9000 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?