matianfu Posted March 17, 2016 Share #1 Posted March 17, 2016 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 More sharing options...
TBK Posted March 17, 2016 Share #2 Posted March 17, 2016 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 More sharing options...
sbv3000 Posted March 17, 2016 Share #3 Posted March 17, 2016 I wonder if it might be easier and quicker to just use a new known compatible with XPE mobo? It might take ages to recompile/debug a customised board? Link to comment Share on other sites More sharing options...
TBK Posted March 17, 2016 Share #4 Posted March 17, 2016 If it is only x86 an not x86_64, then I would not spend the time. Link to comment Share on other sites More sharing options...
Jman420 Posted March 18, 2016 Share #5 Posted March 18, 2016 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 More sharing options...
Recommended Posts