Howto: Building a Squeezebox Server for under $100… Yes, it can be done…

Posted by Kevin Hanson | Posted in Linux, Technology | Posted on 23-11-2009-05-2008

13

title

When was the last time you bought a CD? For me, it was back in college. I bought the Chris Brown CD, and it is still in my car CD player today. And no… i’m not addicted. Rather, my car’s stereo hasn’t been set to CD mode since then. I use my iPod through the auxiliary port input on the head unit. It can often times be difficult to get digital music anywhere besides a PC and an iPod, and many companies have stepped up to the plate to solve this solution. Getting music to play around the house is an issue. For a dorm room, you only need a single computer. For a household, you need multiple speakers in multiple rooms. Sonos, Logitech, Apple, and many others have been battling it out to come up with the perfect solution. After careful research, I decided to go with Logitech’s Squeezebox line of products. Like most “digital living room” products, you need a server of some sort to power it all. This is where things start to get expensive. So I set out to create a Squeezebox Server for under $100, and I was successful! Read on to find out how I did it.

Logitech’s Squeezebox Server software is open source. A side effect of this is that it’s available on a multitude of platforms: Windows, Mac, Linux, BSD – you’ve got it. Pick your flavor, and you’ll be good to go. The goal is to build a small, cheap, low power computer with one of those operating systems, load up squeezebox server, copy over my music, and then be ready to go with my new setup.

I looked at the hardware options for a squeezebox server, and I finally decided on an HP Thin Client. I came up with that decision based on this original, great article written over at SmallNetBuilder. I took a look on eBay, and I found the HP T5530. I was able to snag it for only $50 with free shipping! I then bought two flash drives. I bought a 2GB flash drive for the Operating System, Debian Linux, and I bought a 64GB flash drive for my music. Here are the specs of the T5530 thin client:

  • VIA Eden 800mhz CPU
  • 128mB RAM (with 16MB reserved for video, so actually 112MB usable)
  • 64MB internal flash with Windows CE 5.0 installed
  • Lots of USB 2.0 ports, including two internal “hidden” ports

And some pictures…

The HP Thin Client T5530

The HP Thin Client T5530

Lots of USB 2.0 ports

Lots of USB 2.0 ports

And the front...

And the front...

The computer was $50 with free shipping, and the two flash drives added up to around $45 after shipping. That brings us $5 below the $100 target. NICE! Thank you, eBay! Now I just need to get this sucker to work. I was slightly concerned that it wouldn’t be powerful enough for Squeezebox Server. We’ll see how the performance fared.

I plugged in a monitor and a USB keyboard to make sure it worked. Within a minute or so, I was at the familiar Windows CE home screen. That simply wouldn’t  do – time to obliterate Windows and install Debian Linux. One of the major limitations of this system is the 64MB of flash as the hard drive. I needed a lot more space, and that’s what I bought the 2GB flash drive for. The HP thin client has these cool “internal” USB ports. You unscrew a panel, and there are a couple in there. I opened it up, and I popped the 2GB flash drive in. In another USB port, I had an external CD drive, and I had the Debian “netboot” installer on a CD in there. The netboot installer includes a VERY minimal amount of needed packages. Instead, it downloads packages as needed, allowing you to create a very small, minimal install. Considering how light the hardware is that I’m using, the smaller the install, the better.

Booting from CD

Booting from CD

"Internal" USB ports, with the cover taken off

"Internal" USB ports, with the cover taken off

The installation was a success. I was able to install and boot off the USB drive, where Debian was installed, and get the command line install. I used apt-get to install SSH and a few other packages. For those not familiar with apt-get, it’s the command line way to install software with Debian. It’s very easy. Just type one line like below:

apt-get install ssh

And boom. SSH is installed. With SSH installed, I no longer needed to keep my monitor and keyboard plugged in. I plugged the device in next to my TiVo, connected the ethernet, and waited for it to boot up. Once booted up, I could SSH into the box from my MacBook Pro and continue work where I left off.

I had to install Squeezebox Server. On a Debian based system, the easiest way to install Squeezebox Server is to add it’s repository location to your sources.list file. This way you can use apt-get to install the software, just like I did with SSH. To do that, edit the

/etc/apt/sources.list

file. Add the following line to the top of it:

deb http://debian.slimdevices.com stable main

The type the following:

apt-get update
apt-get install squeezeboxserver

There will be a list of packages that need to be installed in addition to squeezebox server – make sure to type “y” for all of them, as they are needed by the squeezebox server software. Once it installs, time to test the software out and make sure it works! I rebooted the box for good measure, and once it was up, I typed in the browser windows of my MacBook Pro:

http://10.0.1.18:9000

(10.0.1.18 represents whatever your squeezebox server computer’s IP address is)

Success! Squeezebox Server loaded up, and I was able to play around with the settings. I noticed that the Web UI was a bit sluggish, however. After doing some googling and investigation over at the Squeezebox Forums, I think I can attribute this performance issue to the lack of RAM on the thin client. With only 112MB of available RAM, it really is running on the low end of memory. That being said, it was time to load my music!

I formatted the 64GB flash drive with the FAT filesystem on my MacBook Pro, copied over my music, and stuck it into my thin client. I had to set the drive up to automount the music in /media/music/ . Once I did that, i logged back into the Web UI from my Macbook Pro and told Squeezebox Center that’s where my music was. I clicked the button to manually kick off a scan, and off it went.

I tested my Squeezebox Radio… SUCCESS! I was able to select my server as a music source, and all of my music was now available to be played on the device! So while the web user interface was, and still remains, sluggish, the actual playing of music on my Squeezebox device was seamless! So my mission was a success. If you’re curious about Squeezebox or other music server solutions, but you’re concerned about wasting a lot of money on the server, I really suggest trying it out with a thin client or similar computer. This has been a great success, and I look forward to building my next Squeezebox Server, for which I already have plans. I will write about them in a future post!

Thin Client Pros:

  • Cheap
  • Fanless
  • Low Power

Thin Client Cons:

  • Sluggish Web UI

NOTE: I’ve switched from the Thin Client to the Sheevaplug, one of the coolest pieces of technology I’ve played with in a while! Check out my article on getting it set up. Also, keep checking back for new posts. I’m going to make more about how to keep your server’s music in sync with your main computer.

Comments posted (13)

[...] article can be interesting for all who would like to have budget multi-room music system. The system uses [...]

[...] From here, the doors really are wide open. You can turn it into a NAS. You can make it a Squeezebox Server for your music (article on this coming soon!). The possibilities really are endless. This is such [...]

[...] you have read some of my recent posts about setting up a Thin Client or Sheevaplug to act as home server, capable of distributing music across the house with Squeezebox [...]

[...] A couple of new posts to a related thread over in the forum at Small Net Builder points me to a new take on the project. Kevin Hansen has reworked it to address…How to: Building a Squeezebox Server for under $100… Yes, it can be done… [...]

Great writeup! I was lucky enough to get the Squeezebox Radio for Christmas. I already had my music running on a NAS device with Debian Linux loaded. I downloaded the .deb package, used dpkg -i and was up and running in less than 5 minutes!

Now onto fixing some album art since the radio has a nice LCD built in.

Hi,

Thanks for the guide. I’ve now purchased the same thin client. When I try to install Squeezeserver package it tells me there is not enough space on the on-board memory, so, how do I install the squeezeserver onto a pen drive whilst keeping debain installd on the on-board memory please?

Many thanks

Scott

My Debian install was well over 1 GB so it won’t fit on the on board flash drive. You might as well put it all on the pen drive (or fit a 2GB replacement flash drive).

[...] seem overpriced compared to say, the SheevaPlug – Wikipedia, the free encyclopedia (5W!) or say Howto: Building a Squeezebox Server for under $100… Yes, it can be done… | Crazy Hawt Drives are commodity items and declining in price. How good does the server have to be to be good [...]

Nice one – thanks for writing it up!

Note that the Squeezebox server 7.6 (only currently available in beta from http://downloads.slimdevices.com/nightly/?ver=7.6) uses SQLite instead of MySQL so may have a lower memory footprint.

You did a great job on that write up Kevin – thanks. By following it, I was able to get Squeezebox Server running on Debian on a 3GB pendrive attached to a Neoware CA15 (aka HP C50). Even though it only has 128MB of RAM it works perfectly. I also added NTFS file support (using NTFS-3G) so I can take the music from a 750GB USB hard drive, and Samba so I also can use it as a NAS drive for backing up all my PCs. I installed PuTTY on the PC so I can remotely control the CA15, so I don’t need a keyboard, mouse or screen. The USB drive sleeps when it’s not being used so I can leave it all on 24/7 with very low power consumption. Since I picked up the CA15 at a car boot sale, that must be the best deal since forever! And I had never used Linux before I did this. I really do owe you a beer!

[...] news, a la Engadget. I was more interested in posting about little projects I had going on like creating a Squeezebox Server or getting an electrical [...]

[...] news, a la Engadget. I was more interested in posting about little projects I had going on like creating a Squeezebox Server or getting an electrical [...]

Interested in how you partitioned the 64MB drive. I get through most of the install but everytime I get to GRUB it fails. The defaults didn’t seem to work for me. Neither did the expert options.

I’m also getting another thin client from my Boss that might have a bigger internal drive, he wasn’t sure of the model. Hoping it’s one of the 512MB ones.

Thanks,
Jw

Write a comment