Setting up a squeezebox server on new hardware
Saturday, September 18, 2010 12:11:32 PM
A while ago, I bought a Squeezebox Duet. This is a great device duo, with a dumb music player and a remote with a lovely display and iPod-like interface. With it, I can play all the online radio stations in the world, as well as install apps for BBC, SomaFM and the like.
One thing was missing though, a way to play my own music. To do so, you need a server that the Squeezebox can stream music from. To make the Squeezebox see your music, you need to install Squeezebox Server on it. Squeezebox Server is written in Perl and uses mysql to index your music. As such, it runs on any system with perl and mysql. It also lets you install plugins for all kinds of things. My favorite is the Spotify plugin, which lets anyone with a Spotify Premium account stream music.
Now, to play my own music or to use Spotify on the squeezebox, the server must be running, otherwise I only get to play the online radio stations. While the Squeezebox server runs happily on my laptop, and the laptop is running most of the time when I'm at home, I don't always want to do that, mostly because the fan occationally starts up and makes noise. So I set out to find a server that could run all the time, was silent and hopefully cheap. I ended up building my own server with these components bought at multicom.no, which ended up at a total of NOK 2252,-.
- SuperCase MW-100 mini-ITX cabinet
- Intel BOXD510MO motherboard, with a dualcore Atom processor
- 2GB Kingston value RAM
- Samsung SpinPoint M7 640GB harddrive
- Install usb-creator-common and usb-creator-gtk (or usb-creator-kde). This is a Ubuntu package, but it works fine on Debian Testing too, just grab them from the packages.ubuntu.com site.
- Download Ubuntu Server (64-bit for me, will work with less hassle with 32-bit)
- Have a USB stick handy, at least 1GB (Ubuntu claims at least 2GB is needed, but if you don't want to store anything else on the usb stick, 1GB suffices).
- Create a bootable USB stick by using the "Startup Disk Creator" in the System menu. Using it is straight forward. If you have only 1GB, enable the option to discard settings on shutdown.
- Make sure the USB header cables are connected to the normal Front Panel USB plugs on the motherboard, not the one "with Solid State Drive support"
- While the system boots, press F2 to enter BIOS, and navigate to the Boot section
- Enable booting from USB and booting USB before other drives
- Set the USB emulation type to be "All fixed disk". The default Auto setting does not work and will produce Boot Error
- Plug the USB disk into a usb port, and then Save the bios changes
gfxboot is an unknown keyword and vesamenu.c32 is not an COM32R image, leaving me at the BOOT: prompt. After some fiddling around with the syslinux config files and still not getting it to boot properly, I found a deceptively simple workaround for this: Just type "help" on the BOOT prompt, and when you get the help menu, just hit enter. The system will now boot!
Once you have installed the system, it is time to install Squeezebox server. The best way to do this is by adding the squeezebox debian repository to /etc/apt/sources.list, like this:
deb http://debian.slimdevices.com/ testing mainThen run
sudo aptitude update && sudo aptitude install squeezeboxserverIf you installed the 64-bit version, you also need to install ia32-libs to make the Spotify plugin work. All set! Now you should copy all your music to the internal harddrive on the box. The fastest way to do this is by copying it from the harddrive on your PC onto an external hardrive. Then plug this drive into the squeezebox server box. After that, you log in to the box via ssh and mount the harddrive. Install the usbmount package to make it automatically mount external harddrives. With all your music copied over, it is time to configure the server. This is done with a web-interface - load http://server-ip:9000/ in your browser.



















