Jump to content
XPEnology Community

XPEnology Source Code?


Recommended Posts

We have a customized x86 board based on Intel CE series processor, which we can boot from customized mainline kernel with a few patches.


Now we try to boot it from XPEnology.


First I extracted the cpio archive out of XPEnology kernel. Then I downloaded original Synology kernel source (5564 branch) , rebuilt the kernel with original config, put the cpio into it and rebuild the boot drive. It doesn't work.


Here's my question:


1. Did XPEnology modify the original Synology source code or configs? If so, where can I download the modified source code?

2. If yes, is synology source code heavily patched to make it boot from standard x86 PC, or just some enhancement are made so I'd better start from the Synology code instead of XPEnology branch.


Any advices are greatly appreciated.

Link to comment
Share on other sites

There are github repos with older versions (5.0 and 5.1... builds - nanoboot...) available where you can see the patches to the kernel code and how the initrd (rd.gz) is made.

E.g. https://github.com/Jman420/nanoBoot-DSM5.1/


DSM relies on a closed source kernel module called synobios.ko, this file you have to either patch yourself (grab it from a Synology pat file) or extract a already patched version from a xpenology build.

Link to comment
Share on other sites

Quick answers to OP questions:

1. We have modified the configs to enable more drivers. I believe there is an effort within the team to make the config file we use publicly available.

2. The synology binaries are patched at compile time and the patched binaries are copied over the original synology binaries during boot. These patches will not be released in the hopes of extending the time that they remain effective.


The source code found on my repository (https://github.com/Jman420/nanoBoot-DSM5.1/) is extremely dated, but can give you a VERY GENERAL idea of how Xpenoboot gets built. Finally, i also agree with with TBK in that if your motherboard only supports x86 and not x64 then you are probably wasting your time since the builds of Xpenoboot (and DSM) expect an x86_64 architecture.

Link to comment
Share on other sites

  • Create New...