NOTE: Adding support for another OS is not yet fully supported in packages, so must currently be done manually.
If the OS is a Windows Server OS, simply upload the ISO, then follow the "Create the OS Reload Profile" instructions further down in this document. Non-server versions of Windows are not currently supported due to restrictions by Microsoft.
Find the netboot.tar.gz, netboot, or pxeboot folder for the linux distribution you are trying to add. For example, Google "Netboot Ubuntu 17.10" and follow the links to find that archive. The netboot folder often comes with ISO files as well.
There should be another folder somewhere in that netboot folder that contains the kernel and the initrd files. The kernel will usually be called "linux" or "vmlinuz". The initrd will usually be called "initrd.gz" or "initrd.img". Come up with a unique path relevant to the name of your OS, e.g. "ubuntu/artful/amd64" to be consistent with SynergyCP's naming structure. Copy just the linux and initrd.gz files to "/scp/pxe/file/srv/tftp/<your unique path>" on a file server that you'll be testing the OS reloads from.
Create the OS Reload Boot Script
Go to SynergyCP Admin > OS Reloads > Boot Scripts. Pick the Boot Script closest to your OS and create a new Boot Script like it, but replace the kernel and initrd paths with the correct ones. This Boot Script is the kernel line passed to the OS so you may need to specify additional kernel lags here to get the OS booting correctly.
Create the OS Reload Profile
Go to SynergyCP Admin > OS Reloads > Profiles. If you are adding support for a non-Windows OS, pick the Profile closest to your OS and create a new Profile with the same settings, but replace the Boot Script with your recently created one. If you are adding a Windows OS, create a new profile from scratch - specify the Boot Script as Windows, the Preseed as "windows.tpl", and pick the ISO you have previously uploaded.
Now provision a server using the new install profile and see if it works. Once it is confirmed to be working, copy the files added to the File Server to the master file server (if they are different) and sync those files to any child file servers with the button on the File Server edit page of SynergyCP.