Here's the biggest problem: FreeNAS 8.0.1 RC1 has a broken perl. You'll need to fix it before you can install SlimNAS8Pro. I don't know the right way to do this, so I've included the instructions which worked for me. It's complicated, but you only have to do it once. Hopefully the FreeNAS folks will fix it for the official release of 8.0.1, and you won't have to do it at all. Read all about it here.
There's plenty of information available on how to set up ZFS storage. Or you could always use the FreeNAS GUI.
Let's assume you've called your pool "thepool". It will be mounted as "/mnt/thepool".
perl -v
If the output from this command mentions Larry Wall when you run it, you're OK: skip to the section about setting up the Squeezebox Server account. If it whines about a missing library called "libperl.so", it's broken and you need to fix it.
FreeNAS 8 out-of-the-box doesn't give you much temporary space, so you'll need to create some. You'll re-use this space later when installing SlimNAS8Pro, and then you can wipe it.
You're about to update the firmware in your FreeNAS. It needs to be connected to the internet.
Substitute your ZFS pool name for "thepool" in the following commands:
mkdir /mnt/thepool/tmp
cd /mnt/thepool/tmp
wget http://www.xenopsyche.com/ip/tmp/perl-5.12.4_1-amd64.tbz
You've just downloaded a complete new perl for your FreeNAS 8.
Now to install it. Again, substitute your ZFS pool name for "thepool" when giving the following commands:
setenv PKG_TMPDIR /mnt/thepool/tmp
mount -uw /
pkg_add -f perl-5.12.4_1-amd64.tbz
mount -ur /
rm perl-5.12.4_1-amd64.tbz
That's the most complicated thing you'll need to do when you're installing SlimNAS8Pro. You shouldn't really need to do it. There's probably a simpler way. It'll be fixed eventually.
And you just got a basic tutorial on how to install any FreeBSD package onto your FreeNAS 8.
Really, this should be done for you from the installation script, but I wasn't able to find out how it's done on FreeNAS 8 without writing some SQL. The installation script first checks if the Squeezebox Server account is already set up, and creates it for you if it doesn't find it. When you reboot your NAS, the account information disappears. If you create the account using the GUI before you install SlimNAS8Pro, it stays created after a reboot, and the installation script doesn't bother to create it, because you already created it using the GUI. Got that?
Disappearing account information is another annoyance with FreeNAS 8.0.1 RC1, but it isn't likely to be fixed for the official release of 8.0.1, and we'll have to wait for FreeNAS 8.1.X.
Right, let's do this.
From the GUI, go to Account -> Groups -> Add Group. Enter the Group ID number 104, and the Group Name slimserv. Click OK. You should now see a new group slimserv listed.
Now navigate the GUI to Account -> Users -> Add User. Enter the User ID number 75, and the Username slimserv. Use the pulldown Primary Group menu to select the group you just created, slimserv, from the bottom of the list. Set the Shell to sh, the Full Name to Squeezebox Server, and the Password to *. Click OK. You should now also see a new user slimserv listed.
Actually, you can use any numbers you like for the Group ID (gid) and User ID (uid). The FreeNAS GUI will allocate default numbers starting at 1001 for each user and group you create, and you can use these numbers just fine. Once set up, it's the user and group name (slimserv) which matters, not the numbers.
You've just finished your pre-installation work, and you're ready to install SlimNAS8Pro itself.
Reminder: you're about to update the firmware in your FreeNAS. It needs to be connected to the internet, and you need to be logged in as root, either from the console or remotely using ssh (PuTTY on Windows).
Where you see shell commands below (usually rendered in small mono font) you must substitute the name of your ZFS pool instead of the name "thepool". For example, if the ZFS pool where you plan to install Squeezebox Server is called "myssd", then when you see:
ls /mnt/thepool/sbs
what you need to type is:
ls /mnt/myssd/sbs
Not all of the commands you'll type will need this substitution.
You'll need to create some temporary space to download and unpack the SlimNAS8Pro distribution. Remembering to substitute the name of your target ZFS pool for "thepool", enter:
mkdir /mnt/thepool/tmp
If you already created this directory when you reinstalled perl earlier, you'll get a "File exists" error. Don't worry about it.
Now download the SlimNAS8Pro distribution into your temporary space. Enter:
cd /mnt/thepool/tmp
wget http://www.xenopsyche.com/ip/squeezeboxserver/SlimNAS8Pro-CURRENT.tgz
The compressed SlimNAS8Pro distribution is only 20MB, so download should be fairly quick.
Now you need to unpack the distribution. Enter:
tar zxf SlimNAS8Pro-CURRENT.tgz
This will uncompress the distribution into a directory called "SlimNAS8Pro". Set your current directory to that:
cd SlimNAS8Pro
You'll find a handful of files in there including README and INSTALL which say more-or-less the same thing as this page does, but written in Geek rather than English.
The file you really want is called "install.sh". Take a deep breath and enter:
./install.sh
You'll be asked several questions; hopefully the answers will be clear after you've read this document.
If you have more than one ZFS pool, the installer will ask you which one you want to install Squeezebox Server into. If the installer can't access the pool you specify because your thick, inflexible fingers hit the wrong key, it will abort and you'll need to re-run it. If you only have one pool, the installer will merely ask you if it's OK to use it.
Once the pool name is ascertained, the installer looks for a dataset within that pool called "sbs". If it finds one, it prepares for a re-installation or upgrade by offering you the option to take a ZFS snapshot, so that you can easily revert to an older version of Squeezebox Server if things go horribly wrong for you. The installer then confirms that it's OK to overwrite your current version.
The Squeezebox Server software is then installed to the ZFS dataset "thepool/sbs" (or, rather, "whatever-you-called-your-pool/sbs"). Care is taken to preserve the log files, database and preferences during an upgrade or re-installation: if you want to get clever, you can replace the Logs, Cache and prefs directories with symbolic links or even with more ZFS datasets, giving you the ability to tailor your storage requirements. For example, you could keep everything except the Cache in slow storage, but run the Cache on an SSD by creating a dataset for it.
We're nearly done. The installer will ask you if you want Squeezebox Server started up automatically when you reboot your FreeNAS (usually, you do). It also asks if you want Squeezebox Server started up immediately (that's really up to you).
You can wipe your temporary space now:
cd
rm -r /mnt/thepool/tmp
And that's it. Once you've started Squeezebox Server (either immediately following installation or after a reboot) you access it from a web browser on port 9000, to configure your settings, library pathname and other preferences.
Here's those commands again, all together:
mkdir /mnt/thepool/tmp
cd /mnt/thepool/tmp
wget http://www.xenopsyche.com/ip/squeezeboxserver/SlimNAS8Pro-CURRENT.tgz
tar zxf SlimNAS8Pro-CURRENT.tgz
cd SlimNAS8Pro
./install.sh
cd
rm -r /mnt/thepool/tmp
Have fun!
Back to the main page.
Authors: Ian Pallfreeman & Mortimer Hebblethwaite: ip@xenopsyche.com