Hi,
I give it a try with DSM 4.0 and managed in a few days to have it running inside a KVM machine instead of vmware server.
BUT so far it is far from working in the sense that any call to apache will bring a file not found page and kill the apache server.
Within DSM 2.3 it would work just fine but nowadays everything is deeply connected to kernel system call to retrieve and drive hardware informations. Hence we will have to create a fake synobios.ko.
The procedure is as follow to get to this point:
- A new kernel is necessary with support of KVM modules and default SATA and network controller as well as a console. The console is a tricky part as the kernel source have comments to prevent registration of a console, hence you will have to remove some #ifdef MY_ABC_HERE from linux-2.6.xx/drivers/char/vt.c. Note that DSM 4.0 as by default a serial console you may have a look at by redirecting it to a file with kvm -serial file:/tmp/xxx option.
- In order to have a console running at boot, the linuxrc.syno within the ramdisk rd.gz should be modified to go into a shell and adding call to load kvm modules. Add /bin/ash after the different proc and sys mount. The new kernel modules should also replace the one within the ramdisk /lib/modules/ directory.
Now you should be able to boot with KVM supplying the initrd and kernel and a couple hdd image.
In order to generate the hdd, have a look at /etc/*.sh scripts and perform them manually or call them (I do not remember exactly here). This will create the structure of the hdd. Once this is done simply mount the root (/dev/md0) (/dev/md1 is the swap) and untar hdd.tgz on it.
Replace again all the kernel modules found in /lib/modules.
Boot the virtual machine still with the initrd but add kernel command to give root its value (/dev/md0). Once in the shell simply exit so that the boot sequence continues and starts from the hdd. You will finaly get to a logon where root passwd is synopass.
That's where I am and honestly I need we will have to create a fake synobios.ko module because theirs no longer load due to some missing symbols. And anyway it would not work properly I believe.
Globally I am considering improving freeNAS rather than recreating everything that will surely change in a couple months.