SqueezePlay OS for OpenFrame
Latest Release: 15th January 2015 – CHANGELOG
- Which version should I download?
- - If you want to run this from a USB storage device, download the External Storage image.
- - If you want to run this from internal memory and have an O2 Joggler (or similar) download OpenFrame 1 Internal Memory
- - If you want to run this from internal memory and have an OpenFrame 2 (front facing speakers) download OpenFrame 2 Internal Memory
- For either internal storage version, you will need the Reflash System to install it.
I’d noticed that some people on the Joggler Forums were using SqueezePlay as a replacement for the native operating system, loading it in preference to the default ‘Tango’ interface. I’d been toying with the idea of running a few background services on a Joggler, but these were all things that were going to be tricky on a system as specialised as the OpenPeak one. So, I decided to make my own Linux distribution based on Ubuntu.
What Is It?
SqueezePlay OS, as I’ve been inventively calling it, is a small Ubuntu installation built using debootstrap and designed to run SqueezePlay. You can download it, write it to a USB stick, plug it into your Joggler and be up and running in no time. It’s also designed to look neat, with no console output on boot (although verbose output is easy to turn back on) dropping you straight into the SqueezePlay user interface. The system will never bug you for attention; it’s just SqueezePlay and you.
After the first version was released it was clear that people wanted to install it onto the internal flash memory of their Jogglers, completely replacing the OpenPeak system. It’s taken a bit of work, but as you can see from the download box there are specialised versions of SqueezePlay OS that can be written to the internal storage of an OpenFrame device using the latest Reflash System.
You can run SqueezePlay OS either from an external memory stick, or from your OpenFrame’s internal storage.
There are benefits to both methods; if you run Logitech Media Server on a dedicated machine somewhere on your network, internal storage may be the preferred option. However, if you wish to store music on a device attached to your OpenFrame, want to swap back to the default operating system easily, or fancy installing additional software onto SqueezePlay OS, then a USB device may be a better option.
- Important: Please note that I always compile kernels for the Joggler with an 80°C thermal trip point. If you are unhappy with this, you need to add thermal.psv=70 to the
grub.cfgfile before booting. This is within official tolerance of the chip and to the best of my knowledge, no OpenFrame has ever been damaged by this setting.
If installing to a USB device, the quick version is:
- Download ‘SqueezePlay OS for External Storage’ from the link above.
- Write it to a USB device of at least 2GB capacity (platform-specific commands below).
- Power off your OpenFrame and insert the USB stick into the socket.
- Power on your OpenFrame.
If you want to install to internal memory, follow the instructions on the Reflash System page and use the ‘SqueezePlay OS for Internal Memory’ image designed for your device. Please don’t use the external image on the internal memory (or vice versa) as you will definitely run into problems.
If your Joggler fails to boot, try another USB device.
Writing The Image
Follow the instructions for your operating system of choice.
Open a Terminal window and run
sudo fdisk -l to find your device number. Then:
sudo umount /dev/sdX* gzip -dc sqpos300_ext.img.gz | sudo dd of=/dev/sdX bs=1M
Where sdX is your USB device.
Mac OS X
Open a Terminal window and run
sudo diskutil list to find your device number. Then:
sudo umount -f /dev/diskX* gzip -dc sqpos300_ext.img.gz | sudo dd of=/dev/rdiskX bs=1m
Where diskX is your USB device.
You’ll need a couple of helper apps to perform the write.
Run W32DiskImager.exe and select the .img file. Choose the drive that corresponds to your USB stick and click ‘Write’ to copy the image.
Generally, using SqueezePlay OS is identical to using any other installation of SqueezePlay. However, there are a few more functions and options that are not present in other versions.
Once booted you will be walked through the setup process for SqueezePlay. Simply choose your language and follow the on-screen prompts.
- Please Note: It’s possible to use SqueezePlay with both Logitech Media Server or the online mysqueezebox.com service. However the online option has proven to be somewhat finicky recently. Running Logitech Media Server is the recommended way of using SqueezePlay.
When the Network configuration screen appears, there are a few choices.
If you’re using a wired connection you should simply be able to ‘Accept and Continue’. If you’re using wireless, choose the wireless option, enter your network name and WPA password, then hit ‘Apply Changes and Reboot’. When the system comes back up, all should be well.
Should the message say that no network address has been assigned, hit the Back arrow and wait for a few moments. It is likely that the system is waiting for a response from your DHCP server. If this message persists, check your network connection and make sure your router is set up to distribute addresses by DHCP (most are by default).
When you’re happy with the details displayed at the top of the Network screen, choose ‘Accept and Continue’ and choose the mysqueezeplay.com service or your local Logitech Media Server.
Should you wish to set a fixed IP address, do so either on your router (many have options for providing the same address repeatedly to a device) or by editing the
/etc/network/interfaces file via SSH. There are various instructions available online which will describe the correct settings for your network.
For best results, run Logitech Media Server on a computer on your network, which will serve content to your device. If you are running SqueezePlay OS from an external USB device or on an OpenFrame 2, you will find an option to install LMS on your OpenFrame under Settings > Advanced > Additional Features. Your OpenFrame will then be able to serve content to itself and to other devices on your network.
As mentioned earlier, it is also possible to use SqueezePlay with the mysqueezebox.com online service. Simply choose this option from the list and configure your device using the web interface. Please note that it may take a couple of attempts before the service responds to your device, for reasons that have never been terribly clear. Any suggestions on how to improve this connection would be appreciated.
Thanks to Heiko Steinwender, there is now an applet for configuring the time zone of your device. Simply head to Settings > Advanced > Time Zone to select your location.
Once configuration is complete you will be taken to the main interface screen. An option to return to the setup process will be present until the system is rebooted, should any of your choices need revising.
If you need to reset your choices after this time, just using the Settings > Registration and Settings option.
If you head through the menus to Settings > Advanced > Additional Features, you will find a few added extras.
Settings > Advanced > Additional Features > AirPlay
Support for AirPlay audio is now built-in to SqueezePlay OS using a piece of software called shairport. When your device boots, you should immediately be able to connect to it using any AirPlay-compatible product.
By default the name of your device will be ‘SqueezePlay’. If you have more than one OpenFrame device running SqueezePlay OS make sure you give it an appropriate name, otherwise things will get confusing quickly! To do this, head to Settings > Squeezebox Name, enter a new name and then relaunch SqueezePlay from Quit > Relaunch.
Logitech Media Server
Settings > Advanced > Additional Features > Logitech Media Server
This option will automatically install Logitech Media Server on SqueezePlay OS without messing around on the command line. Simply press the ‘enable’ button and wait while LMS is downloaded and installed for you. Then visit the address shown on the installation screen with your browser to begin configuring server options, such as the location of your music.
The option to install Logitech Media Server will not be present when there is insufficient free space, most notably when installed to internal memory on an O2 Joggler or OpenFrame 1.
Network Mount Point
Settings > Advanced > Additional Features > Network Mount Point
Here you can specify an NFS network mount point, which is a handy thing to be able to do if you run Logitech Media Server on your Joggler, but store your media files on some other system (such as a server or NAS device). Choose Enable, then enter the IP of your NFS server and the full share path, then hit Apply.
Your shared area will be attached to
/srv/media, so point your LMS installation to the contents of that directory. Hitting ‘Disable’ and then ‘Apply’ will unmount the share.
Settings > Advanced > Additional Features > Secure Shell
The SSH server software is enabled by default, allowing you to connect to your OpenFrame over a secure terminal connection. Once you’re in, you can make advanced configuration changes – and get your OpenFrame to do pretty much anything you might want.
The username and password for this are:
- Username: joggler
- Password: joggler
You should change your password using
sudo passwd joggler from the command line.
Things never go perfectly smoothly, so here are a few suggestions.
“It says ‘No network address has been assigned’ on the Network screen.”
If you know that everything on your network is okay, then it is likely that you’ve just whizzed through the preceding screens before the Joggler was given an IP address by your DHCP server. If you press the Back arrow button and try again, the applet will check your network configuration again.
If you still get no IP address, make sure that your DHCP sever is functioning correctly and that you have the correct interface selected. If you’ve chosen the wireless option, double-check your WPA passphrase and network name. That name also needs to be broadcast, not hidden.
“I use WEP, not WPA for my wireless network. Will it work?”
Nope. For security reasons, we only support WPA. If you insist on WEP then the Ubuntu Forums may be of help in telling you how to configure it by hand. But that WEP passphrase you have? It can probably be cracked in under 10 seconds, so please consider switching to WPA.
“It’s not using all of the space on my USB stick!”
The external image has been purposely created small to fit onto whichever USB memory sticks you may have lying around in a drawer. However, if you write the image to a larger capacity stick, the additional space will not automatically be available to your OpenFrame. Depending upon your plans, this may or may not be an issue.
Your first option is to do nothing. If you’re using a 2GB memory stick, this is your only option and everything will work just fine. If you’re using a larger capacity device and do not plan to serve files or modify SqueezePlay OS, there is no need to do anything; there would be no benefit from the additional space.
Add Another Partition
If you wish to serve files from your device using Logitech Media Server, you could create a new partition on the end of the memory stick to make use of the extra space. To do this, use GParted on Linux, or GParted Live on any other system. This program has a simple user interface that will allow you to add a new partition for storing extra files, such as your music. Using a FAT format is recommended.
Expand Root Filesystem
If you really want to play around under the bonnet and install additional Linux software, you will want to expand the root filesystem, named sqp-root, to fill the remaining space. Again, use GParted on Linux, or GParted Live on any other system, but this time select the root file system and drag it out to fill the free space on your device. The rest of the adventures are up to you!
“I like verbose boot. How do I get that back?”
/boot/boot.nsh, changing any instances of grubq to grub. Then edit
/boot/grub.cfg and delete the words ‘silent’ and ‘splash’ and choose an appropriate ‘loglevel’ value. The greater the value, the more verbose the output.
- Thanks to Jools Wills (BuZz) and many others for the kernel patches and advice that have made SqueezePlay OS possible.