Tuesday, November 26, 2013

Running Synology DSM on virtual machine

This post will be about running modified Synology Diskstation Manager on a virtual machine and thus emulating a NAS that can be accessed through web and managed like an ordinary Synology device. The modified version of DSM is called XPenology and it can be found at xpenology.org It can take some fiddling to get it to work (took me a few hours) so I better make a post about it before I forget :)

Primary steps involved are:
1. Creating a new virtual machine using Oracle VirtualBox
2. Booting the VM with disk image that comes with XPenology download
3. Accessing virtual diskstation and installing modified DSM on it
4. Everything works... or not

Creating a new virtual machine

First step in creating a virtual NAS is to create a new virtual machine that can run Synology software. Diskstations run on 64-bit Linux OS, so virtual machine must also be set up as a Linux machine. I used Debian 64-bit, but others could also work.

There are two main things to set up for VM and host computer: boot disk image and network adapter settings. VM boot device must be an existing IDE device that points to disk image downloaded from XPenology forums. Network adapter must be first set up un host computer by creating a bridge between Oracle VirtualBox Network and Local Area Connection. Select both of them in the list of networks, right click and select Add Bridge (or something similar). In VM settings, navigate to network settings and select Birdged Adapter as network adapter. Name should be the name of the bridge and under advanced settings, set MAC address to either 00113208D63C or 00223208D63C. First one is suggested in different forums, but it didn't work for me (more on that later).

When network settings and boot image are all set, start the VM. It should boot up and end up showing "Diskstation login:"

Installing modified DSM on VM

Start up Synology Assistant and search the network for Diskstations. If all goes well the VM will show up as DS3612xs device. Right click on it and select "Install". Point to the downloaded modified version of DSM, fill necessary fields and start the install.

To be continued...

Monday, November 4, 2013

Nuke 7 plugin development

Today I started setting up the dev environment for Nuke 7 plugin development. As I bumped on some small obstacles, I thought I'd better make a post about it.

Nuke 7 plugins should be compiled with Visual C++ 2010 and if you have 64-but OS then against 64-bit libraries. The thing that gave me a little headache was the 64-bit environment. Nuke installation contains an example project that you can load and that should ideally build without problems. But problems I got...

First problem was in VC++ with setting additional dependencies. Nuke plugins need header files and .lib static libraries from Nuke program folder that must be manually added. For some reason VC++ did not want to show me the project properties dialog. After some messing around I found out this was because I didn't have x64 environment set up and so VC++ did not understand the project settings.

To set up the x64 stuff Windows x64 SDK must be installed. There came the second problem. Both the web installer and ISO image installer gave strange cryptic errors. After some more messing around I discovered that it was due to a conflict with already installed 2010 redistributables. I uninstalled all 2010 packages and after that the SDK installed without problems.

Now VC++ allowed to change project settings and add additional dependencies. In addition to Nuke libraries and headers, Windows SDK lib folder must also be pointed to in linker settings. It must be the x64 sub-folder because otherwise you get the linker unknown external symbol errors.

With all things set up I was able to successfully compile the example project: