Upgrading NAS4Free Embedded

I chose NAS4Free as my home storage solution. As the name suggests, it’s free, but it’s also packed with file storage goodness such as UPNP/DLNA and DAAP support. This put it a touch ahead of similar packages that stop once they’ve got CIFS support and a dabble of all-but-useless things like FTP.

For my own configuration, a 6-year old desktop PC seems to run everything fast enough, even with ZFS on the storage. It’s only got a Core2 Duo 2.13GHz CPU and 4GB DDR2 standard issue RAM, and the drive is a Seagate 2TB SATA drive. Only one drive inside the system – experience to date indicates that user error and malware are more likely to deal a data-blow than disk failure. As a result I prefer to take backups to an external disk (I can also keep a copy off-site to protect against fire and theft).

I opted to deploy using the embedded NAS4Free version on a bootable USB. After a bit of hassle turning off the Intel MBEx BIOS features which prevented a USB boot, it all worked a treat. For the initial setup I followed the official installation guide – download and burn the LiveCD image, boot off it and install to a USB key (I did this on the NAS itself, but you could just as easily do this from your normal machine as it doesn’t touch any of your other drives). Insert the USB key into my NAS box (with a keyboard and monitor temporarily attached), boot up and go through the first time configuration, job done.

When it came to my first upgrade I hit the issue that the firmware upgrade (System|Firmware) wouldn’t work. I had two options, both wrapped by saving and restoring my NAS4Free configuration: (1) write an updated LiveCD and use this to install a NAS4Free bootable USB with the updated embedded NAS4Free image on it; (2) write the updated embedded image file directly to USB (following some good instructions) and save loads of waiting around.

Obviously I went for option (2) as it was quicker – and it worked really smoothly. There was an error message in System|Firmware about the boot partition being too small, but it was clear that this wouldn’t affect operations. Alas, it does affect upgrades and when the next one came along neither the web GUI firmware nor the LiveCD would upgrade my USB key. So I had to sort it out properly:

  1. Download the latest Live CD image (remember to pick the right architecture) and burn to CD;
  2. Boot the LiveCD, insert a new USB key, select option 3 to install the embedded version (the options changed between versions – check carefully) – you can do this step on any PC as it doesn’t touch the internal drives;
  3. Take an encrypted backup of your NAS4Free configuration (System|Backup/Restore);
  4. Shutdown NAS4Free, remove your old USB boot key, insert the new one, and boot;
  5. When you hear the start-up beeps, you are ready to login to the NAS4Free web GUI. However, it’ll be on the default IP address of so unless you happen to be using this subnet too (and that’s a fairly common situation so you may be lucky) you’ll either need to plugin a keyboard and monitor to configure this, or use something like WinIPConfig to temporarily add another address in that subnet (e.g.;
  6. Once you’ve got access to the Web GUI, login with the default credentials (admin:nas4free) and set the admin password to the one you used before in System|General|Password;
  7. Restore your saved configuration (System|Backup/Restore) – this will automatically reboot and you’ll be up and running (NB: the restore will fail if you haven’t set the admin password correctly).

Easy! This method took about 15 minutes in all, but meant that my USB embedded image was now correctly sized for future in-place upgrades.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s