SSODS Installation

Installation instructions.


Note the section 9. Warnings, Bugs, Security below!

Warning: this procedure is largely untested and requires basic Linux hacking skills.

Commands that you need to type and run and output of commands are typeset in monospace. E.g.

$ doesitwork
Of course, it's Linux!

The «$» is the prompt (which may look different, depending on your system). doesitwork is the command and Of course, it's Linux is the output of the command.

You’ll need a telnet or ssh client, such as PuTTY (Windows).

You’ll probably need to activate the ssh or telnet server on your box (TurboStation, DiskStation) in order to be able to telnet or ssh into it.

Below I use, and, which are the IP addresses of my DiskStation (DS), TurboStation (TS) and eTRAYz (EZ), respectively. Replace all occurences of this with the IP address you use in your setup.

Note that some things (e.g. output of commands) may look slightly different on you box. Never mind as long as it looks okay. Also, ignore warnings about missing locales.

Stuff that is typeset in gray is information for power users. You can safely ignore it.

1. Preparation

1.1 Warnings

Read the warnings.

1.2 Licenses

SSODS/SSOTS includes several 3rd party components. You need to read and accept all the relevant licenses. Abort if you don’t accept one or more. A list of components and the corresponding license text can be found here.

1.3 Uninstall previous SSODS/SSOTS/SSOEZ installations

You need to remove any previous installation of SSODS/SSOTS/SSOEZ. For SSODS/SSOTS 3.x it is enough to deactivate it but you must remove all previous SSODS/SSOTS/SSOEZ versions if your upgrading from SSODS < 4.7. You can safely install 4.8 over 4.7 and 4.9 over 4.8 (or even 4.7).

Uninstalling may work as follows (you have a backup of your data, don’t you?):

$ /opt/ssods4/etc/init.d/rc.ssods stop
$ rm -rf /opt/ssods4/*
$ rm /opt/ssods4
$ rmdir /volume1/SSODS4
Power users who want to keep their SBS settings can remove everything but the directory /opt/ssods4/var/home/SqueezeboxServer/Prefs. But you would probably rather copy the Prefs directory somewhere and copy it back once everything is installed. E.g.:

To save the preferences to an archive file:

$ cd /opt/ssods4/var/home/SqueezeboxServer
$ tar -cvf /path/to/some/directory/sbs-prefs-backup.tar Prefs

To restore the preferences from an archive file (once SBS has been re-installed!):

$ cd /opt/ssods4/var/home/SqueezeboxServer
$ tar -xvf /path/to/some/directory/sbs-prefs-backup.tar

Note that you must replace /path/to/some/directory with a path that exists on your box (e.g. /volume1/public for Diskstations, /share/MD0_DATA/Public for some Turbostations). Compare 3. Prepare the installation directory below.

1.4 SSODS/SSOTS/SSOEZ tar ball

Copy the SSODS tar ball (ssods-4.x-ARCH.tar.gz, where ARCH is i686, ppc or arm, depending on your hardware) to the machine on which you want to install SSODS/SSOTS/SSOEZ. The /Public/ share is a good place to copy the tar ball to.

2. Connect to the DS/TS/EZ

Open a terminal on the machine on which you want to install SSODS. Login as «root» (on Turbostations: as «admin»).


$ telnet
Connected to ds508.thegang.
Escape character is '^]'.

ds508 login: root

BusyBox v1.1.0 (2009.01.16-11:04+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.



$ ssh admin@
admin@'s password:
[~] # 


$ ssh root@
flip@fry ~/SSODS/arm $ ssh root@
Last login: ... from ... on ...

3. Prepare the installation directory

Determine where you want to install SSODS/SSOTS/SSOEZ. It will need some 200 MB, so choose a place on the data partition. The command df will tell you about available disk space. Then link the installation directory to /opt/ssods4 (note: no other path will work).

On a DiskStation the data partition is usually mounted on /volume1:

$ mkdir -p /volume1/SSODS4
$ mkdir -p /opt
$ ln -s /volume1/SSODS4 /opt/ssods4

On a TurboStation the data partition is mounted on /share/MD0_DATA or sometimes /share/HDA_DATA:

$ mkdir -p /share/MD0_DATA/SSODS4
$ mkdir -p /opt
$ ln -s /share/MD0_DATA/SSODS4 /opt/ssods4

On an eTRAYz the data partition is mountet on /home:

$ mkdir -p /home/SSODS4
$ mkdir -p /opt
$ ln -s /home/SSODS4 /opt/ssods4
On other systems where /opt has enough space (~150MB) /opt/ssods4 can be used directly (recommended):

$ mkdir /opt/ssods4

Or if there isn’t enough space in /opt, use some other place that has the space. E.g.:

$ mkdir /home/flip/SSODS4
$ mkdir /opt
$ ln -s /home/flip/SSODS4 /opt/ssods4

Note that the partition that contains the installation directory must not have the nosuid or noexec flags set.

4. Extract the SSODS tar ball

Use the tar ball filename from above. The /path/to/ is probably /volume1/public/ (DiskStation), /share/MD0_DATA/Public/ (TurboStation) or /home/Public/ (eTRAYz). Extract the tar ball:

$ cd /opt/ssods4
$ tar -xzvpf /path/to/ssods-4.....tar.gz


$ LC_ALL= /opt/ssods4/etc/init.d/rc.ssods start

This will output something like this:

SSODS: checking system ..... OK.
Starting SqueezeboxServer .. skipping, auto start is disabled.
Updating /opt/ssods4/etc/sudoers .. OK.
Starting thttpd-ssods ...... OK.

Ignore any warnings related to «locales» you may see in addition to the above output.

6. Make SSODS/SSOTS/SSOEZ autostart on boot

Link SSODS into the system startup and shutdown scripts.


$ mkdir -p /usr/local/etc/rc.d/
$ ln -s /opt/ssods4/etc/init.d/rc.ssods /usr/local/etc/rc.d/

Details are available here.

TurboStation (WARNING: untested! Get help in QNAP’s forum if you need):

Either this command (e.g. arm based TS):

$ mount -t ext2 /dev/mtdblock5 /tmp/config

Or this command (e.g. atom based TS):

$ mount -t ext2 /dev/sdx6 /tmp/config

Edit /tmp/config/ (create it if necessary) and add the «ln» command from 3. and the start command from 5.

$ chmod a+rx /tmp/config
$ umount /tmp/config

Detailed information on this can be found here: QnapWiki:Running_Your_Own_Application_at_Startup

eTRAYz (untested, please let me know if it works)

$ ln -s /opt/ssods4/etc/init.d/rc.ssods  /etc/rc3.d/S99ssods
$ ln -s /opt/ssods4/etc/init.d/rc.ssods  /etc/rc6.d/K11ssods
$ ln -s /opt/ssods4/etc/init.d/rc.ssods  /etc/rc0.d/K11ssods

7. Install Squeezebox Server

Open web broser and go to: http://ip_address_of_machine_ssods_is_installed_on:9099

Click «Install» and follow the instructions.

8. Install SBS Customisations

There’s now a module for SBS that customises several things in SBS for SSODS et al. E.g. it allows to restart SBS when changing the plugin settings in the SBS preferences.

The file is included with SSODS and can be enabled (installed) on the SSODS «Settings» page. It may or may not work, depending on the SBS version you are using.

You need to restart SBS in order to activate the customisations. Once it’s active you should see more detailed system info on the about page of the SBS server settings page (in the SBS web interface).

9. Warnings, Bugs, Security

Note that little care has been taken to make this a «secure» installation. Do NOT expose it to the internets, keep it only in your local fully trusted LAN. You have read the warnings, haven’t you?

A particular nasty bug in the Bash shell has recently been discovered (see wikipedia for details). The versions of Bash included in the SSODS packages are affected.

Hence, you should probably uninstall SSODS and not use it anymore. A work-around might be stopping the affected part of SSODS, namely the SSODS admin webserver. This is what runs the bash in a way that makes an attack possible. You can disable the webserver from being started by removing its startup script:

$ rm /opt/ssods4/etc/init.d/thttpd-ssods

Or you move it somewhere else so that you can manually start the webserver only when you need it:

$ mv /opt/ssods4/etc/init.d/thttpd-ssods /opt/ssods4/bin
$ /opt/ssods4/bin/thttpd-ssods start
$ /opt/ssods4/bin/thttpd-ssods stop

Note that all of this is untested. YMMV. The «official» word is: uninstall SSODS and don’t use it anymore.